【Shell】vim 常用命令
有三种模式,命令模式、插入模式、命令行模式。
·
vim 的使用
有三种模式,命令模式、插入模式、命令行模式。
命令模式,即编辑模式。常见命令如下:
- 进入编辑。
i
在当前光标的位置编辑。I
在当前行的第一个非空位置编辑。a
开始在当前光标的下一个位置编辑。A
开始在当前光标的最后一个位置编辑。
:
进入命令行模式。- 插入新行
o
在当前行之后插入一个新行,并进入编辑状态。O
在当前行之前插入一个新行,并进入编辑状态。
- 删除和剪切
d
剪切dd
删除一行,并复制到剪切板中。ndd
删除n
行,并复制到剪切板中。c
重复删除多个数据。例如向下删除 11 行,可以使用命令10cj
。dw
删除一个单词。d$
从光标位置删除到行尾。d0
从光标位置删除到行的开头位置。d#
从最后相同的位置开始删除,每次删除一行。dgg
从当前位置删除到文件开头。dG
从当前位置删除到文件末尾。
x
剪切x
剪切一个字符。nx
剪切n
个字符。X
向前剪切一个字符。nX
向前剪切n
个字符。
- 复制
y
复制一个字符。y0
从光标位置复制到该行的开头。y$
从光标位置复制到该行的的末尾。yy
复制一行。yw
复制一个单词。y5
复制 5 行。ygg
复制到文件的开头。yG
复制到文件的结束。
- 粘贴
p
黏贴内容到光标的后方。5p
黏贴5次。P
黏贴内容到光标的前方。
- 撤销
u
撤销上一次的操作。ctrl + r
重做上一次撤销的操作。即取消上一次的撤销。
- 拼接。
J
将光标所在行与下一行拼接成一行。
- 移动光标
- 方向键,在文本中移动光标。
0
移动光标到行首。或者home
。$
移动光标到行末尾。或者end
。gg/G
移动光标到文件的开头/末尾。- 移动行数。
nG
移动到文档的第n
行。- 或者使用命令行,
:set nu
。 n + Enter
从当前位置,向下移动n
行。
- 上下左右移动。
h
向左移动一个字符。30h
向左移动 30 个字符。backspace
光标向前移动。H
移动光标到屏幕的最上方第一字符。M
移动光标到屏幕中间的第一字符。j
向下移动一个字符。30j
向下移动 30 个字符。k
向上移动一个字符。30k
向上移动 30 个字符。l
向右移动一个字符。30l
向右移动 30 个字符。或者 30+space.space
光标向右边移动。L
移动光标到屏幕的最后一行的第一个字符。
w/b
向后/前跳到下一个单词的开头。- 上下翻页
Page Up/Page Down
,上/下翻页。ctrl + f/b
上/下翻页。
-/+
移动到上/下一行的行首。
输入模式
- 字符按键以及 Shift 组合,输入字符。
- ENTER,回车键,换行。
- BACK SPACE,退格键,删除光标前一个字符。
- DEL,删除键,删除光标后一个字符。
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线。
- ESC,退出输入模式,切换到命令模式。
命令行模式,即在文件模式输入命令的模式
- 查找和替换。
/pattern
向下搜索指定模式。?pattern
向上搜索指定模式。:s/old/new/g
替换当前行中所有匹配的字符串。:%s/old/new/g
替换文件中所有匹配的字符串。n
继续前一次的查找。N
前一次的查找,只不过方向相反。:n1,n2s/word/newWord/g
从 n1 开始到 n2 行之间,搜索 word 并替换成 newWord。:%s/word/newWord/g
或者:1,$s/word/newWord/g
全局替换。如果替换时要提示,则使用gc
。r
替换当前光标位置的字符。R
一直替换,并移动光标,直到按下ESC
。
- 保存。
:w
保存。:q
退出。:wq!
保存并强制退出。:q!
强制退出。:x
保存并退出。ZZ
保存并退出。ZQ
强制退出,不保存。:w filename
将编辑的数据另存为一个文档。:n1,n2 w filename
将n1
到n2
行内容保存到文档 filename。:! ls /home/xf
暂时离开vi
到指令模式。
- 行号。
:set nu
添加行号。:set nonu
取消行号。
更多推荐
已为社区贡献1条内容
所有评论(0)