vim 基本操作(Vim使用笔记)
按下 ESC 可以从输入模式或命令模式退回到普通模式,我来为大家科普一下关于vim 基本操作?以下内容希望对你有帮助!
vim 基本操作
vim的三种模式- 输入模式,键入i 或 a 或 o都可以进入输入模式
- 普通模式,打开vim默认的模式
- 命令模式,键入 : 进入命令模式
按下 ESC 可以从输入模式或命令模式退回到普通模式
退出 vim ,需要在普通模式下切换到命令模式(:)
- q 无修改的情况下,直接退出
- q! 有修改的情况下,不保存退出
- wq 有修改的情况下,保存并退出
编辑 .vimrc 文件:vim .vimrc
"语法高亮
set syntax=on
"自动缩进
set autoindent
"Tab键的宽度
set tabstop=4
"显示行号
set number
"高亮显示匹配的括号
set showmatch
"快速插入文本, o表示换行输入
"map <keymap> oContent
"例子:快速打印一行日志,命令模式输入'dz',将会输出 Bd_Log::warning("==dz==>".var_export($,true)); 光标停在 $ 符号后面
map dz oBd_Log::warning("==dz==>".var_export($,true));<ESC>F$1li
编辑完成后,source .vimrc使配置生效
光标移动普通模式下
单词间移动(分隔符为非英文)
- w移动光标到下一个单词的词首
- b 移动光标到上一个单词的词首
- e移动光标到下一个单词的结尾
- ge移动光标到上一个单词的结尾
(分隔符为空格)
- W 移动光标到下一个单词的词首word
- B 移动光标到上一个单词的词首begin
- E 移动光标到下一个单词的结尾end
行内移动
- ^ 移动到行首
- $ 移动到行尾
行移动
- :行号 跳转到相应的行首
- 行号gg 跳转到相应的行首
- gg 跳转到文件第一行
- shift g 跳转到文件最后一行
翻页操作
- Ctrl f:向后翻一页(forward)
- Ctrl b:向前翻一页(backward)
- Ctrl d:向后翻半页(down)
- Ctrl u:向前翻半页(up)
调整页面布局
- zz:让当前行居中显示,方便浏览上下文
- zt:让当前行显示在最上方,方便浏览后面的内容(t 表示 top)
- zb:让当前行显示在最下方,方便浏览前面的内容(b 表示 bottom)
匹配括号
光标提留在括号上,包括( {,},[,],(,) ),键入%,将会跳转到匹配的括号上
文本编辑- o 进入输入模式,并从下一行进行编辑
- i或a 进入输入模式,从当前光标位置进行编辑
- I 从光标所在行的行首进行编辑
- A 从光标所在行的行尾进行编辑
- dd 快速删除一行,其实这个命令本质上是剪切
- 5dd 快速删除5行
- p 粘贴
- yy 复制
- 5yy 复制5行
- u 撤销上一次修改
- diw: 删除一个单词(word)
- ca":删除双引号内的文本并编辑(包含双引号自身)
- yi":复制双引号内的文本(不包含双引号自身)
- dtx:向右删除,直到遇到遇到字符 x(不包含 x)
普通模式或命令模式下
/pattern 搜索一个文本,不区分大小写
/pattern\C 搜索一个文本,区分大小写
:范围s/oldpattern/newpattern/替换模式 替换
# 比如:把第 1 - 10 行中所有的 hello 换成 hallo
:1,10s/hehe/haha/g
# % 表示 1,$的范围,也就是整个文件的范围
:%s/hehe/haha/g
# g 表示全部替换,假如不加g的话,只替换1次
大小写切换
- guu 当前行全部小写,gUU 当前行全部大写
- ~ 当前光标下的字符切换大小写, 3~ 当前光标下后面三个字符切换大小写
- guiw 当前单词全部小写,gUiw 当前单词全部大写
- g~iw 当前单词每个字符大小写交换
列操作
- Ctrl V 进入列操作模式,此时可以选择要操作的行
- ec 删除所选单词,并进入编辑模式
- ESC 退出编辑模式,并且编辑后的改动作用于选中的行
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com