vim使用方法
以Ubuntu为例
1.在终端(terminal)下输入
vim filename
若当前文件目录下没有改文件,则会在编辑结束保存后创建该文件。若未进行编辑保存退出,则不创建该文件。
2.命令行模式
进入vim编辑器时为命令行模式
查找:
命令 | 作用 |
---|---|
/<要查找的字符> | 从第一行向下查找字符 |
?<要查找的字符> | 从最后一行向下查找字符 |
n:查看下一个查找结果,N:查看上一个查找结果。
光标的移动
h光标向前移动一个字符 | l光标向后移动一个字符 | n-向上移动n行 | n+向下移动n行 |
k光标向上移动一个字符 | j光标向下移动一个字符 | nG移动到第n行 | :n光标移动到第n行 |
b移动到上一个字的第一个字母 | w移动到下一个字的第一个字母 | H光标移动到当前屏幕的第一行第一列 | gg光标移动到当前屏幕的第一行第一列 |
e移动到下一个字的最后一个字母 | ^移动到光标所在行的第一个非空白字符 | M光标移动到当前屏幕的中间行第一列 | L光标移动到当前屏幕的最后行第一列 |
0移动到光标所在行的最前面 | $移动到光标所在行的最前面 | ctrl+d光标向下移动半页 | ctrl+f光标向下移动一页 |
剪切
ncb剪切光标所在的前n个单词 | ncw剪切光标所在的后n个单词 | nx剪切从光标所在的字符开始的n个字符 | c$剪切光标所在的字符到行尾的所有字符 |
S删除光标所在的行,并进入输入模式 | s删除光标所在的字符,并进入输入模式 | ndd剪切自光标所在的行开始的行,若到文章结尾不够n行,则剪切到最后一行 |
修改
r待修改字符 | 修改光标所在的字符,键入r后直接键入待修改字符 |
R | 进入取代状态,可移动光标位置修改字符,知道按esc结束 |
复制
nyb复制光标所在的前n个单词 | nyw复制光标所在的后n个单词 | y$复制从光标所在字符到行尾的所有字符 | nyy复制从光标所在行开始向下的n行 |
p将缓冲区内的字符粘贴到光标所在位置 | u取消上一次的文本编辑操作 |
进入插入模式 | |||
---|---|---|---|
符号 | 作用 | 符号 | 作用 |
A | 从光标所在行的最后开始编辑 | a | 从光标所在位置的后一位开始编辑 |
I | 从光标所在行的第一个非空字符开始编辑 | i | 从光标所在位置开始编辑 |
O | 从光标所在行的上方新增一行 | o | 从光标所在行的下方新增一行 |
2.插入模式
进入插入模式后左下方会有"插入"字样。
按esc返回命令行模式
3.底行模式
命令行模式下按":"进入底行模式
替换
替换在底行模式下 |
---|
“s"替换符号;“g”:全部替换,不加默认替换第一个。“c”:替换前询问;”%“表示所有行;”.“表示当前行;”$"表示最末行 |
:range s/str1/str2/gc |
:1,4 s/str1/str2/gc 用字符串2全部替换第1到4行的字符串1,替换前询问 |
:%s/ 与:1,$ s/ |
文件操作
esc:进入命令模式 | |||
---|---|---|---|
q:退出 | w:保存 | wq:保存并退出 | q!:强制退出 |
zz:保存并退出 | w!:强制保存 | ||
set number:设置显示行号 :set nu | set nonumber:取消显示行号 :set nonu | x:保存并退出 | wq!:强制保存并退出 |
:!pwd—查看当前文件所在位置 | vsp+filename:垂直方向分屏操作 | sp+filename:水平方向分屏操作 | :!:返回命令行,按回车键可以返回vi继续工作。 |
**在命令行中输入**
vim -On file1 file2 ……(大写O,表示垂直分屏打开文件)
vim -on file1 file2 ……(小写o,表示水平分屏打开文件)