vim 使用
来源:互联网 发布:java中scanner用法案例 编辑:程序博客网 时间:2024/06/14 12:42
vim 使用
- vim 文件名 : 打开或新建一个文件,默认进入命令模式
在命令模式下
- a/i :进入insert模式。准确来讲有细微区别,a是append,是在当前光标后插入。i会在当前光标处插入。
- x : 删除当前字符
- dw : 删除当前单词,准确来说是会删除从当前到下一个单词的开始,也就是说会把单词后面的空格也干掉。
- de : 这个是删除到本单词结束。
- d$ : 删除从光标处到本行结束。
d 称为操作符operator,w/e/$ 称为motion意图。组合起来达到不同的操作效果。
- w : 可以跳到下一个单词的开始
- e : 可以跳到单词的结束,如果光标已经在本单词的结束,那就跳到下一个单词的结束。
- $ : 可以调到本行的结束
- 0 : 可以跳到本行的开始
可以在这些motion前面加上次数,跳到第几个单词。如2w:跳到本行第二个单词的开始
也可以在operatoer的后面加上次数。如d2w,删除后面的2个单词。
所以说vim的关键在于熟练,在于融会贯通。
- dd : 删除本行
- 2dd : 删除2行
- u : undo
- U(大写) : undo 整行
- ctrl+r : undo the undo
- p : 粘贴。vim会将之前删除的内容放在自己的寄存器中,现在可以粘贴了。
- r : replace,在想要修改的字符上,先按r,然后替换正确的字符,r + x
- ce: 删除至单词结束,同时进入insert模式。有点像de/dw + i,但是de/dw删除后还是在命令模式。
c是change,和d一样是operator,用法也和d一样,如ce改变至单词结束,c$:改变至行结束。
位置操作
ctrl + g :显示当前行号G : 跳到文件结束gg : 跳到文件开始行号 然后 + G : 跳到指定行。
搜索
- / 然后加要搜索的内容。从头开始搜索。
- ? 从尾开始搜索。
- n 下一个
- N 相反方向的下一个
- ctrl + o : 回到上一次光标在的位置
ctrl + i : 和ctrl+o相反
ctrl + o和i不要一直用太多次,会乱。
用%查看[ { (另一半的匹配
替换命令
- :s/要替换的/用什么替换 : 替换本行的第一个。
- :s/要替换的/用什么替换/g : 替换全行。
- :行号,行号s/要替换的/用什么替换/g : 替换这些行之间的全部。
- :%s/要替换的/用什么替换/g : 替换文件全部。
- :%s/要替换的/用什么替换/gc : 替换文件全部的时候加上确认。
外部命令
- :! + 要执行的命令。 执行外部命令。
- :w + 可加文件名。 写到这个文件里。
视图模式下
v 开启试图选择模式,可以选中多行内容,然后:加w 文件名,可以将选中的部分内容写到文件中。
v开启视图模式后,选中的内容。可以加operator,如d,进行删除。等等。
:r 读入。可在后面加文件名,将文件中的内容读入。也可以加类似!ls的外部命令,将命令的结果写入。
- o(小写):在光标的下一行,开启一行,进入insert模式
- O(大写):在光标的上一行,开启一行,进入insert模式
- R(大写):进入replace模式,方便的更新。
- y :复制。是一个operator,所以可以yw。
复制粘贴就是v进入视图,选中,y复制,退出视图,p
:set +操作,可对搜索做高级设置。
操作有:
set nu! : 显示行号
ic:或ignorecase,忽略大小写
is:或incsearch,立即显示部分匹配上的
hls:或hlsearch,高亮显示所有匹配的。
要取消设置,:set +no某个操作
如果只是想使用一次忽略大小写查询可以用/xxxxx\c
帮助系统
- :help 或者f1键,会打开一个帮助的窗口,按两下ctrl+w可以在帮助窗口和原窗口之间切换。
- :help 可以加参数
自定义vim高级特性
- :e ~/.vimrc
- :r $VIMRUNTIME/vimrc_example.vim 这是一个自带的示例,可在这个基础上改。
- :w
自动补全
- ctrl + D(大写)可以显示所有匹配的命令
- tab键自动补全
0 0
- VIM使用
- VIM 使用
- vim使用
- VIM使用
- vim使用
- vim 使用
- VIM使用
- VIM使用
- vim使用
- vim 使用
- vim使用
- vim 使用
- vim使用
- vim 使用
- vim使用
- vim使用
- vim使用
- vim 使用
- Leetcode - Length of Last Word
- hdu2059
- 解决android中listview中嵌套checkbox滑动时checkbox状态改变问题
- Linux-27-linux基础重要命令04(L005-09)
- UVA 531Compromise
- vim 使用
- 查看文件夹
- 激光雕刻机改良日记(一)
- JSP语法
- C语言内存分配方式
- 会场安排问题
- POJ 1061 青蛙的约会
- 【HUSTOJ】1053: 字符图形9-数字正三角
- [读书笔记]Clean Code (1-8章)