查看、更改文件编码
:set fencs # 查看支持的文件编码列表
:set fileencodings
:set fenc # 查看当前文件编码
:set fileencoding
:set fenc=utf-8 # 将文件编码改为utf-8
:set fenc=gbk # 将文件编码改为GBK
:set bomb? # 查看 utf-8 是否有bom
:set bomb # utf-8 添加bom
:set nobomb # utf-8 去除bom
:set # 查看当前文件相关选项
查看、更改文件格式
:set fileformats # 查看当前支持的文件格式
:set ffs
:set fileformat # 查看当前文件的文件格式
:set ff
:set ff=dos # 将当前文件格式改为DOS,即换行标记为'\r\n'
:set ff=unix # 将当前文件格式改为DOS,即换行标记为'\n'
:set ff=mac # 将当前文件格式改为DOS,即换行标记为'\r'
改变大小写
~
:改变当前字符大小写,并将光标向前移动一个字符。重复按下,可以连续改变多个字符大小写。
vu
:改变当前字符为小写
vU
:改变当前字符为大写
参考:http://vim.wikia.com/wiki/Switching_case_of_characters
另存为……
:sav <new_file_name>
:将当前文件另存新文件,并保持新文件打开
:w <new_file_name>
:将当前文件另存新文件,并保持原有文件打开
文件名修饰
%:p
:当前打开文件的全路径文件名
%:p:h
:当前打开文件的全路径名
用法:
:sav %:p:h/new_file_name
:将当前文件另存为new_file_name,并打开new_file_name。
:sav %:p:r.xxx
:将当前文件另存为新后缀.xxx
查找帮助:
:h filename-modifiers
显示当前文件信息
:f
CTRL-G
如果显示的文件名不包含路径,表示文件在当前目录。显示当前目录:
pwd
切换到当前文件的目录:
cd %:p:h
设置当前文件类型
不同的文件类型,可以用不同的语法高亮颜色:
:setfiletype cpp
:setf cpp
窗口操作
CTRL-W_T
:将当前窗格打开到新的TAB页
在帮助文档中跳转
- Ctrl+] 跳转到链接
- Ctrl+T 跳转回上一个位置。
tabstop, softtabstop, expandtab, shiftwidth
- tabstop TAB字符占用的空格数
- softtabstop 用空格填充至TAB占用的空格数
- expandtab 用tabstop个空格,表示一个TAB字符
- shiftwidth 缩进的宽度,以空格为单位
set [tabstop|softtabstop|expandtab|shiftwidth] 显示设置的数值
set [list|nolist] 显示/不显示空白字符
普通模式下缩进、反缩进
> 缩进
< 反缩进
插入模式下,反缩进(unindent)
CTRL+D
移动、复制行
:move、:m
:copy、:co、:t
交换当前行与下一行::m+1
,交换当前行与上一行::m-2
。
使系统剪贴板与 unnamed 寄存器绑定
:set clipboard=unnamed
跳转到光标下的文件名
如果光标下的字符串(W
)是个路径文件名,可以在普通模式下跳转到该文件:
- gf 在当前窗口打开该文件。
- CTRL-W_f 在当前标签页拆分出一个窗品,并在该窗口中打开该文件。
- CTRL-W_gf 打开一个新的标签页,并在该标签页中打开该文件。
调用寄存器内的宏
qr 在普通模式下,进入宏记录状态。宏将记录在寄存器 r
中。
q 从宏记录状态退出,宏记录在寄存器 r
中。
:M,N norm @r 从第M行到第N行,调用寄存器 r
中的宏。