Vim 常用规则和命令
可以多参考 vim/gvim 有哪些实用技巧? 和 vim cheatsheets
【vim 状态切换】
- Esc = Ctrl + [ # 切换到普通模式
【vim 移动】(来自 Vimtutor)
- h j k l 方向键
- CTRL + F/B 上一页/下一页
- CTRL + U/D 上移/下移半屏
- shift-6 (^) 移动到行首第一个非空字符
- 数字 0 移动到本行开头
- shift-4 ($) 移动到行尾
- W (shift-W) (向右)移动到下一个单词
- B (shift-B) (像左)移动到上一个单词
- gg 跳到页面文件开头
- G 跳到文件末尾
【Vim 操纵文本】
- r 替换 (R 进入替换模式,此时只有键盘有用,直到 Esc 退出)
- c 改写
- x 删除(实际是剪切)。 x 在删去的同时,会覆盖掉剪切板的内容,例如:先用 yy 复制了一部分内容,然后切换到粘贴的地方,用 x 删去不要的内容,再用 p 粘贴,会导致先前复制内容丢失
- yy 复制一行
- yw, yW, yiw, yiW 复制一部分
- dd 剪切一行
- dw, dW, diw, diW
- dG 删除当前行及后面所有行 (或者使用命令行模式
: , $ d
) - dgg 删除当前行及前面所有行 (或者使用命令行模式
: 1, d
) - p 粘贴
- u 撤销上一次操作
- ctrl + r 重做上次操作
- 合并上下两行: shift + j (在上行使用, 等价于 大 J )
- 合并 10-20 行:
:10,20 j
参考
【vim visual 可视模式】https://www.cnblogs.com/hangaozu/p/7544325.html
- 在 visual(v) 模式下, 可以使用光标选中部分字符,然后进行复制(y), 粘贴(p), 但复制的内容似乎仅仅是一次性的,只能粘贴一次。
- 使用 ctrl + v 可以打开 block 块选中可视模式,便于更多的操作,例如可以进行多行注释。
【vim 搜索文本功能】:https://www.jianshu.com/p/bdc1f7e689b3
/
开启搜索\.
其中\
代表转义符。在搜索 query 中,避免 . 被转义为匹配符,可以使用\.
,其中 \ 是转义字符,例如搜索: 85.5n or N
向上 or 向下搜索- :set hlsearch 语法高亮 highlight search 结果 (也可以在 ~/.vimrc 里面写一行 set hlsearch, 不需要 :)
【vim 文本替换功能】:(来自 《Linux命令行大全》chapter 12)
:%s/aaa/bbb/g
将 aaa 替换为 bbb- s 代表替换功能
- % 代表全部行, 也可以使用起始行号和结束行号来圈定范围,
1,5s/aaa/bbb/g
- g 代表 global, gc 则会在每次替换前询问用户确认
【vim 普通模式下】:(https://blog.csdn.net/HappyCodeFly/article/details/86684297)
- q / 查看使用/输入的搜索历史
- q ? 查看使用?输入的搜索历史
- q : 查看命令行历史 (常常会被误按,按一下回车键即可回复原状)
【shell 脚本中出现了 windows 的换行符导致出错】https://www.cnblogs.com/ericfengk/p/11972497.html
-
例如:(run.sh 通过 腾讯文档 粘贴转过来的)
-
使用 vim -b file.sh 会显示每一行后面多了一个 ^M
-
使用 blog 中解决方法办法修复:
方式一:dos2unix 下载并安装dos2unix 利用命令“dos2unix [filename]”完成转换 方式二:替换(vim+正则表达式) 利用命令“vim -b [filename]”打开该文件 在命令模式下输入:“%s/^M//g”或者“g/\^M/s/\^M//” 保存并退出 也可以自己直接逐个手动删去符号 ^M。
【vim 多行注释功能】https://blog.csdn.net/step_ma/article/details/76474864
在使用 vim 编辑器时,有时候需要对多行代码进行加注释或去注释,它不像我们在类似于 vs code 等下可以使用快捷键操作,而需要我们自己输入命令操作,下面将介绍两种方法。
- 方法一:块选择模式
-
插入注释
(1)首先按键盘上的 ESC 进入命令行模式
(2)再按 Ctrl+V 进入 VISUAL BLOCK 模式
(3)利用上下左右键调整需要注释多少行以及行的宽度
(4)再按 Shift+i(大写的 I) 或 s 进入插入模式
(5)输入代表注释的符号,比如 #
(6)再次按 ESC 键,这时就可完成多行注释(可能需要等上一会,不要着急) -
去注释
前三步与加注释相同。
(1)首先按键盘上的 ESC 进入命令行模式
(2)再按 Ctrl+V 进入 VISUAL BLOCK 模式
(3)利用上下左右键调整需要去注释多少行以及行的宽度
(4)再按 d 删去注释字符,即可完成去注释
- 方法二:替换命令
-
插入注释
(1)首先按键盘上的 ESC 进入命令行模式
(2)再在底行输入以下命令
:起始行号,结束行号s/^/注释符/g
底行显示的是一共有几行插入了注释 -
去注释
(1)首先按键盘上的 ESC 进入命令行模式
(2)再在底行输入以下命令
:起始行号, 结束行号s/^注释符//g
去除注释之后底行显示的是共去除了几行注释