鸟哥linux基础学习---vim
注意点
当我们正在通过vim编辑文本时如果按下ctrl+z,那么vim编辑的界面被隐藏到命令界面背景中。
kill -9 强制终止程序
ctrl+f和ctrl+b 上下翻页
搜索
/mail

big5和utf8的区别
vim
vim是vi的进阶版,不仅仅是文字处理软件还是一款程序开发工具(它会根据编辑文件的扩展名或者文件开头来自动选用相应的程序语法格式进行语法的检查)
同时,目前很多linux的高级文字处理软件在底层都是调用vim程序接口,并且由于vim程序小巧编辑速度相当快。
一般模式
h左 j下 k上 l右 如10j 向下移动10格 20k 向上移动20格
0 移动到本行开头 n
$ 移动到本行末尾
G 移动到这个档案的最后一行
nG 移动到本文档第n行
gg 移动到本文档第一行相当于1G
n
/word 向下搜索word
?word 向上搜索word
n 向下搜索
N 向下搜索
:n1,n2s/word1/word2/g 在n1行n2行范围之间寻找word1并将它替换为word2
:n1,$s/word1/word2/g 在第一行到本文档末尾之间寻找word1并将它替换为word2
:n1,$s/word1/word2/gc 在第一行到本文档末尾之间寻找word1并将它替换为word2并且在替换时询问用户确认
x 向后删除一个字符
X 向前删除一个字符
nx 向后删除n个字符
dd 删除光标所在的整行
ndd 删除光标所在的向下n行
d1G 删除光标所在的行到第一行的所有内容
dG 删除光标所在的行到最后一行的所有数据
d$ 删除光标所在的行到本行的最后一个字符
d0 删除光标所在的行到本行的第一个字符的所有数据
yy 复制光标所在的行
nyy 复制光标所在的行和向下n行
y1G 复制光标所在的行到第一行的所有数据
yG 复制光标所在的行到本文档最后一行的所有数据
y0 光标所在的位置到本行开头的所有数据
y$ 光标所在的行到本行末尾的所有数据
p 将复制的内容在下一行粘贴
P 将复制的内容在上一行粘贴
u 复原前一个动作
ctrl+r 重复上一个动作
. 重复前一个动作
编辑模式(插入模式)
i 在光标所在处插入
I 在光标所在行的第一个非空格字符处插入
a 光标所在位置的后一个字符处插入
A 光标所在行的最后一个字符出插入
o 在光标所在行的下一行插入新的一行
O 在光标所在行的上一行插入新的一行
r 替换光标所在处的字符只替换一次
R 会一直替换光标所在处的字符,直到按下esc之后
命令模式
:w
:w!
:q
:q!
:wq
:wq!
ZZ 如果文档没有改动那么直接退出,如果文档有改动那么保存后退出
:w [fileName] 类似与另存为,将编辑的内容存为另外一个文档
:r [fileName] 在编辑文档时读入另外一个文档的数据,读入的数据添加到光标所在的行后面
:n1,n2 w[fileName] 将n1到n2行的数据存储为另外一个文档fileName
:! command 暂时离开vim执行command命令 如:!ls -ail
:set nu
:set nonu


vim的救援和恢复
当我们使用vim正在编辑时如果此时系统宕机等意外中断那么vim编辑的内容也不会丢失----能够使用vim的救援恢复gon功能进行恢复---vimt通过咱存档来实现该功能的。
vim会在当前编辑文档所在目录下在建立一个文档---.filename.swp名字的暂存档----属于隐藏文件。
如果发生宕机等程序中断行为后并且系统恢复正常后如果我们编辑原来的文档,那么会有出现警告信息让我们选择进行相应操作
O---只读
E---不载入暂存档内容来进行编辑
A---抛弃本次编辑行为退回到命令界面
Q---与A相同
R---加载存盘的内容---但是当用户编辑完成后该暂存档不会被自动删除,此时需要用户手动闪
D---删除暂存档---并打开原文档内容进行编辑
vim的额外功能
文本颜色显示和语法检查功能

如图右下角显示行数与列数

如图passwd的暂存档
区块选择
在一般模式下
v----字符反白
V----行反白
ctrl+v ----区块反白
y----对反白的内容进行复制
d----对反白的内容进行删除

多文档编辑功能
----由于每个vim程序都是独立的因此没有办法再a文档yy然后跑到b文档p
:n 切换到下一个文档
:N 切换到上一个文档
:files 列出所有正在被vim使用的文档


多窗口功能
----分屏显示
:sp [filename] -----如果无ilename那么对当前文档进行分屏----如果有filename那么打开filename进行分屏显示
ctrl+w+j 移动到下一个窗口
ctrl+w+k 移动到上一个窗口
ctrl+w+q 退出
vim环境设定
在~下有.viminfo文件记录vim使用和配置信息


设定vim环境
----查看vim设定环境的参数
:set all

---常用参数
:set nu
:set nonu
:set backup ----当编辑文档时会自动生成一个文件名为filename~的原数据备份文件
:syntax on -----开启语法检查
:syntax off -----关闭语法检查
:set autoindent ---自动缩进
:set noautoident ---关闭自动缩进
:set background=dark ---背景设置为暗色
:set background=light ---设置为淡色
vim的配置文件为/etc/vimrc ----不建议修改该文件
dos与linux的断行符
dos的断行符----^M$
linux的断行符----$
^M ----CR符
$ -----LF符
也就是dos中的断行符由CR和LF两个符号组成,在linux中断行符只有LF符号组成,也就是在linux下的断行enter只有LF
那么有可能dos下复制过来的指令由于多了而CR无法正确执行
解决方案
linux转dos
unix2dos -k fileName ---会保留源文件的mtime
unix2dos -n fileNmame ---保留原文件会将转换后的新文件保存
dos转linux
dos2unix -k -n filename [filename] 同理

语系编码转换
file命令查看文件类型
file filename
wget可以用于下载文档 ----wget 网址

----语系转换
iconv -f 原编码 -t 目标编码 源文件 [-o 新文件]
iconv --list 查看iconv支持的语系

浙公网安备 33010602011771号