【笔记】ubuntu下vim的基本用法
由于租了一台Ubuntu系统的云服务器来搭梯子,不免要用到vi来修改文档内容,此处为了方便查找特意从网上摘录了操作方便查找。
简介
vim 自带基础教程:在任意一台装有vim的机器上,命令行中输入 vimtutor
然后就可以看到教程了。
当想要对一个文件进行改写or阅读时只有输入 vi 文件路径
或者 vim 文件路径
就可以了。
三种模式
vim有3个模式:命令模式(Command/Normal)、插入模式(Insert)、末行模式(Last line mode)。
- 命令模式:
vi
后初始模式,可以移动光标、删除字符等。按i/a/o
进入插入模式。按 : 进入末行模式。 插入模式:在此模式下可以输入字符,按
ESC
将回到命令模式。末行模式:以在最底一行输入命令。
命令模式
简单地移动的命令
h/j/k/l
→ 移动光标,同等于 (←↓↑→)空格键
→ 向右、Backspace → 向左Enter
→ 移动到下一行首、-
→ 移动到上一行首。w
→ 到下一个单词的开头。e
→ 到下一个单词的结尾。如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成;如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。
0
→ 数字零,到行头^
→ 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)$
→ 到本行行尾g_
→ 到本行最后一个不是blank字符的位置。gg
→ 到第一行n+
→ 向下跳n行n-
→ 向上跳n行3G
→ 到第 3 行G
→ 到最后一行
删除与拷贝的命令
x
→ 删当前光标所在的一个字符dd
→ 删除当前行,并把删除的行存到剪贴板里yy
→ 拷贝当前行 相当行于ddP
p
→ 粘贴剪贴板到当前位置之后P
→ 粘贴剪贴板到当前位置之前J
→ 合并光标所在行及下一行为一行
搜索的命令
f
和F
加上字符 → 移动光标到下(上)一个字符t
和T
加上字符 → 移动到选定字符前的第一个字符/
或者 ?加字符串 → 向下(上)搜索字符串,如果搜索出多个匹配,可按n键到下一个%
→ 匹配光标当前所在的括号向对应反括号移动,包括(
,{
,[
*
和#
→ 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)n
→ 向下搜索前一个搜素动作N
→ 向上搜索前一个搜索动作
重复的命令
u
→ undoctrl r
→ redo.
→ 重复上个操作
会进入插入模式的命令
i
→ 在当前光标位置的左边添加文本I
→ 在当前行的开始处添加文本(非空字符的行首)a
→ 在当前光标位置的右边添加文本A
→ 在当前行的末尾位置添加文本o
→ 在当前行的下面新建一行O
→ 在当前行的上面新建一行cw
→ 替换从光标所在位置后到一个单词结尾的字符
进入了奇怪的模式
R
→ 替换(覆盖)当前光标位置及后面的若干文本(进入替换模式)
末行模式
文件的打开与推出与保存
:w
→ 存盘:q
→ 退出:x
,ZZ
或:wq
→ 保存并退出:q!
→ 退出不保存:qa!
强行退出所有的正在编辑的文件,就算别的文件有更改。:e 文件路径
→ 打开一个文件:w 文件路径
→ 保存至文件路径:saveas 文件路径
→ 另存至文件路径:bn
或:n
和:bp
或:p
→ 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。
替换的命令
:s/old/new
→ 用new替换行中首次出现的old:s/old/new/g
→ 用new替换行中所有的old:n,m s/old/new/g
→ 用new替换从n到m行里所有的old:%s/old/new/g
→ 用new替换当前文件里所有的old
其他功能
:set nu
→ 显示行号:set nonu
→ 取消显示行号
更多玩法
命令前加上数字,可以令你的操作更加便捷
100idesu [ESC]
→ 输入100次 idesu3fa
→ 在当前行查找第三个出现的anyy
→ 将当前行向下n行复制到缓冲区
或者利用命令的结合,很多命令都可以如下来干:
1 |
|
例如
yw
→ 复制从光标开始到词尾的字符nyw
→ 复制从光标开始的n个单词y^
→ 复制从光标到行首的内容y$
→ 复制从光标到行尾的内容0y$
→ 从行头开始拷贝到本行最后一个字符dt"
→ 删除所有的内容,直到遇到双引号
References
【笔记】ubuntu下vim的基本用法
http://achlier.github.io/2022/09/17/ubuntu下vim的基本用法/