admin 管理员组文章数量: 887399
文本编辑器vim
1. 模式切换
一般模式按【Esc】回到一般模式
插入或取代的编辑模式
i 为从目前光标所在处插入 I 为在目前所在行的第一个非空格符处开始插入。
a 为从目前光标所在的下一个字符处开始插入 A 为从光标所在行的最后一个字符处开始插入。
o 为在目前光标所在的下一行处插入新的一行 O 为在目前光标所在处的上一行插入新的一行!
cc 或 S 删除当前行,并进入插入模式
c$ 或 C 删除到行尾并进入插入模式
cl 向后删除一个字符,并进入插入模式
r 只会取代光标所在的那一个字符一次 R 会一直取代光标所在的文字直到按下【Esc】为止
指令列命令模式
输入 : / ? 任意一个进入
2. 光标移动
【Ctrl】+f/b/d/u 下一页【PgUp】/上一页【PgDn】/下半页/上半页h(←) j(↓) k(↑) l(→) 光标左下上右移动,前面加数字n表示移动n个字符
w/e 光标向后移动到它后面的word的第一个首字符/尾字符
b 光标向前移动到它前面的word的第一个首字符
+ - 光标移动到非空格符的下一列 上一列
n【Enter】 光标向下移动n行
n【Space】 光标向右移动n个字符
0或【Home】 此行最前
$或【End】 此行最后
ˆ 此行的第一个非空白字符
n$ 第n行行尾(^和0不能前面加数字)
H M L 当前屏幕的首行/中间行/尾行的第一个字符
gg nG G 当前vim档案的首行/第n行/尾行的第一个字符
f/F字符 光标在当前行向后/向前移动到搜的字符上
% 匹配括号的移动
数字% 跳到当前文档的百分之数字
zz zt zb 把当前行置为屏幕正中央/顶端/底端
3. 搜索和取代
/string向下搜 ?string向上搜 n继续 N反向继续/\<word\> 精确匹配单词搜索
:n1,n2s/string1/string2/g 在n1和n2行之间用字符串string2取代string1
:1,$s/string1/string2/gc 全文取代需要确认(c需要确认)
4. 删除d 和 复制y 和 粘贴p 删除后进入插入模式c
如果你用“c”命令代替“d”这些命令就都变成更改命令. 使用“y”就是yank命令, 如此类推.x 代表dl,向后删除一个字符【Del】
X 代表dh,向前删除一个字符
nx 连续向后删除n个字符
D 代表d$(删除到行尾的内容)
dw 删除当前光标至下一个word的开头
ndw 删除光标所在向后n个单词
diw 删除当前光标所在的word(不包括空白字符)
daw 删除当前光标所在的word(包括后面空白字符)
db 删除 当前光标至前一个word的开始
dd yy 删除/复制 光标所在的那一行
ndd nyy 删除/复制 光标所在的向下n行
d1G y1G 删除/复制 光标所在到第一行的所有数据,也可以dgg ygg
dG yG 删除/复制 光标所在到最后一行的所有数据
d0 y0 删除/复制 光标所在处,到该行的最前一个字符
d$ y$ 删除/复制 光标所在处,到该行的最后一个字符
p 在光标的下一行粘贴
P 在光标的上一行粘贴
J 将光标所在行与下一行的数据结合成同一行
5. 重复和撤销
u 撤消前一个动作。 (常用)U 一次撤消对一行的全部操作
【Ctrl】+r 重做上一个动作。 (常用)
. 小数点!意思是重复前一个动作
6. 指令列的储存、离开等指令
:w 写入 :w! 强制写入:q 离开 :q! 强制离开不储存档案。
:wq 储存后离开 :wq! 则为强制储存后离开
ZZ 若档案没有更动,则不储存离开,若档案已经被更动,则储存后离开!
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。
亦即将filename这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!
7. 区块选择
v 字符选择,会将光标经过的地方反白选择V 行选择,会将光标经过的行反白选择
【Ctrl】+v 区块选择,可以用长方形的方式选择资料
y 将反白的地方复制
d 将反白的地方删除
o 反白的地方基准变换对角到的位置
O 反白的地方基准变换到同一行的另一个角间移动
8. 多档案编辑
:n 编辑下一个档案:N 编辑上一个档案
:files 列出目前这个 vim 的开启的所有档案
9. 多窗口情况下的按键功能
:sp [filename] 开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。
【Ctrl】+w+j/↓ 光标可移动到下方的窗口。
【Ctrl】+w+k/↑ 光标移动到上面的窗口。
【Ctrl】+w+q 结束下方的窗口
:split 打开一个新窗口,将屏幕分为上下两个窗口并将光标定位在上面的窗口中
:vsplit 垂直分隔,将屏幕分为左右两个窗口
:close 可以关闭当前窗口(可以阻止你关闭最后一个vim)
:only 关闭除当前窗口外的所有其它窗口
10. vim 环境的变更
:f 或【Ctrl】+g 查看当前文件名:pwd 查看当前文件路径
:scriptnames 修改配置文件“.vimrc”或“vimrc”的文件
:set nu 显示行号 :set nonu 取消行号
:set ignorecase 忽略大小写 :set noignorecase 取消忽略大小写
:set hlsearch 高亮显示搜索 :set nohlsearch 取消高亮显示搜索
:set list 显示特殊字符 :set nolist 取消显示特殊字符
11. TAB和空格转换
TAB替换为空格::set ts=4
:set expandtab
:%retab!
空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!
加 ! 是用于处理非空白字符之后的TAB,即所有的TAB,若不加 !,则只处理行首的TAB。
TAB字符显示为 >---
set list lcs=tab:>-
或 set listchars=tab:>-
12. vim 环境
~/.viminfo 环境记录/etc/vim/vimrc 是全局的环境设定配置文件,将改变所有用户的vim配置。
~/.vimrc 是用户自己的环境设定配置文件,只影响该用户自己。
http://www.kancloud/wizardforcel/gdb-tips-100/146767
版权声明:本文标题:vim 命令 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724509503h753064.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论