VIM小技巧

来源:互联网 发布:在淘宝买steam游戏 编辑:程序博客网 时间:2024/06/18 06:18

查看、更改文件编码

: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 中的宏。

0 0
原创粉丝点击