vim怎样实现多行编辑
vim进了多行编辑模式:<ESC>之后按CTRL+V进入visual block模式(列编辑)。
光标移到某行行首,进入visual block模式,上下键选择行,按I(i的大写字母),输入##,然后按<ESC>键,这样就在多行行首添加##了。也可以在多行的固定位置添加固定字符。
如果要删除这些##,进入visual block模式,选中这些##,按d即可,x是删除。
vim 常用命令:
1. 重复最近的文本操作:使用点号键(.)
2. 筛选功能:在vi 中按 Escape,输入 :!command(其中的 command 是要执行的 UNIX 命令),然后按回车,就可以在 shell 中执行命令。
例如,:!pwd 显示编辑会话当前的工作目录。
例如,如果希望在vi 会话内对清单 9 所示的整个文件进行排序,可以按 Escape,输入 :1,$!sort 并按回车,这让vi 把从第一行到文件末尾($)的所有内容传递给 sort 命令,用输出替换指定的部分。
vim常用开发技巧
启动VI时的选项
vi +n file 打开文件到n行
vi + file 打开文件到最后一行
vi +/pattern file 打开文件到模式首次出现的位置
启动vim以后,可以通过:e 打开文件
模式切换
其它模式==>普通模式
Esc
普通模式==>插入模式
i 在光标前插入 I 在行首插入
a 在光标后插入 A 在行末插入
o 在当前行之下新建行 O 在当前行之上新建行
r 替换当前字符 R 从当前字符开始替换
普通模式==>命令模式
:
普通模式==>可视模式
v 可视模式
V 可视块模式
<Ctrl+v> 可视块模式
移动
w 下一个单词词首 W 将特殊符号视为单词的一部分
b 上一个单词词首 B 同上
e 单词末尾 E 同上(忽略标点)
0 行首 ^ 行首文字(行首空格之后)
$ 行末
( 移动到当前句子的开始
) 移动到下一句子的开始
{ 移动到当前段落的开始
} 移动到下一段落的开始
〔〔 移动到当前节的开始
〕〕 移动到下一节的开始
注解:为了找到句子的尾部,VI将寻找标点符号?、。!中的一个,当这些标点后至少有2个空格,或者作为一行的最后一个非空格字符出现,VI就认为找到了句尾的位置。
H 页面顶部
M 页面中部
L 页面底部
数字参数
100j 执行100次j键,向下100行或者作为跳转的行号、百分比。
<行号> Ctrl+g 按行号跳转
<Ctrl+f> 下翻一页 <Ctrl+d> 下翻半页
<Ctrl+b> 上翻一页 <Ctrl+u> 上翻半页
gg 文件首行
G 文件末行
zz 将光标所在行调整至页面中间
<Ctrl+e> 下卷一行
<Ctrl+y> 上卷一行
编辑
x 剪切当前字符
dd 剪切当前行
y 复制可视模式选取的字符
yy 复制当前行
p 在光标后粘贴 P 在光标前粘贴
U 撤销
>< 分别是缩进与反缩进
<Ctrl+r> 重做
~ 将当前光标出的内容进行大小写转换
使用J合并两行,将光标至于第一行的任意一个位置上,命令模式,J可以把当前行和下面一行合并起来.
单词删除
1. dw:这是在此之前我用的对做的也几乎是唯一掌握的一个操作技巧。从光标当前的位置开始删除,直到删到单词最后。
2. daw:算是1的属性扩充版,这个命令可以直接删除光标所在的一个单词。为了方便记忆,可以记忆为deletea word缩写。
3. bdw:这也是一个复合命令。B可以让光标回退到单词开头的位置,而dw则是第1个描述过的命令。
搜索和替换
按下 / 键,编辑器底部会出现 / 符号,接着输入字符串,便可以进行搜索
/ 向下搜索 ? 向上搜索
n 搜索下一个
N 搜索上一个
注:
可以在搜索某个模式之后,做些编辑工作,然后还可以通过n和N,/和?对同一模式进行再次搜索。
可以把/和?与c和d之类的文本修改命令结合在一起使用。如:d?move
:s/<源字符串>/<目标字符串> 将源字符串替换为目标字符串
:s/<源字符串>/<目标字符串>/g 替换当前行中所有符合条件的字符串
:<行号1>,<行号2>s/<源字符串>/<目标字符串>/g 在指定行中进行替换
:%s/<源字符串>/<目标字符串>/g 全文替换
命令模式
:e! 放弃本次会话所做的任何修改,返回到文件的初始状态。
1.交换两个字符位置 xp
2.上下两行调换 ddp
5.删除当前位置以下所有行 dG
6.从当前位置删除到行尾 d$
7.从当前位置复制到行尾 y$ 如果要粘贴到其他地方 p 就可以了
11.在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处的下面
vim 常用操作
最新推荐文章于 2024-07-22 12:41:55 发布