vim +n filename // n是数字,可以定位到该文件的第n行
命令模式下
Ctrl+f或pageup键 屏幕向前移动一页
Ctrl+b或pagedown键 屏幕向后移动一页
Ctrl+u 向前翻半页
Ctrl+d 向后翻半页
w 将光标快速跳转到当前光标所在位置的--后--面一个单词的-首-字母
b 将光标快速跳转到当前光标所在位置的--前--面一个单词的-首-字母
e 将光标快速跳转到当前光标所在位置的--后--面一个单词的-尾-字母
数字0或者Shift + 6 移动到本行行首
Shift + 4 移动到本行行尾
gg 移动到首行
1G 移动到首行
G 移动到尾行
nG(n是任意数字) 移动到第n行
dd 删除/剪切光标所在的那一行
ndd(n为数字) 删除/剪切光标所在行起向--下--一共n行
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行首的所有字符
J 删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容
de 删除当前字符到单词尾
dw 删除当前字符到单词尾(包括空格)
yy 复制光标所在行
nyy 从光标所在行算起向--下--复制n行
yw 复制当前光标到单词尾的字符
y$ 复制当前光标到行尾
y^ 复制当前光标到行首
p 从光标所在行向--下--粘贴已经复制或者粘贴的内容
P 从光标所在行向--上--粘贴已经复制或者粘贴的内容
u 还原上一步操作,可以多次恢复
ctrl+r 对使用u撤销命令进行恢复
U 取消对当前进行的所有操作
v 按v后移动光标会选中指定字符,然后可以复制、粘贴等
Home 快速定位光标到行首
End 快速定位光标到行尾
PageUp 进行文本的向上翻页
PageDown 进行文本的向下翻页
^ 光标快速跳转到本行首字符
$ 光标快速跳转到本行尾字符
ctrl+f 向前翻整页
ctrl+b 向后翻整页
在命令模式下,输入 “:” 或者 “/” 即可进入命令模式。在该模式下,我们可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。
命令模式下查找和替换
/word 向光标之后寻找一个字符串为word,按n向后继续搜索
?word 向光标之前寻找一个字符串为word,按n向前继续搜索
:n1,n2s/word1/word2/g 在n1,n2行之间查找word1并替换为word2,不加g则只替换每行的第一个word1
:1,$s/word1/word2/g 替换文档中所有的word1为word2,不加g只替换每行的第一个word1
1第一行,$尾行s替换
:1,$s/word1/word2/g =:1,$s#word1#word2/g =:1,$s@word1@word2/g
后面两种不需要像下面那样子转换
1,$=%
/ 代表/的意思,就是脱意的意思
命令模式其他功能
:w 保存文本
:q 退出vim
:w! 强制保存,在root用户下即使文本只读也可以完成保存
:q! 强制退出,所有改动不生效
:wq 保存并退出
:set nu 显示行号
:set nonu 不显示行号
在vim里面按Ctrl+z 放到后台,fg停止放到后台
Ctrl+z 暂停命令 vi etc/inittab 按下fg回到命令