vim一些配置

安装

CentOS 的最小化安装默认只安装了最小版的VI,可以通过以下命令安装全部功能的Vim:

1
2
yum install vim-common vim-enhanced vim-minimal
sudo apt-get install vim

修改环境变量

1
2
[root@h01 ~]# vi /etc/profile.d/custom.sh
alias vi=vim

或者

1
2
[root@h01 ~]# vi ~/.bashrc
alias vi=vim

修改vim配置文件

修改用户级别的 需要修改 ~/.vimrc。修改全局的,需要修改 /etc/vimrc (可以通过 :version 看到)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
set nocompatible
set number
colors desert
syntax on
set ruler
set showcmd
set cursorline
set fileencodings=utf-8,gbk
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set fileformats=unix
set hlsearch
set formatoptions-=cro
set paste
" set list
" comment here

filetype

vi ~/.vim/filetype.vim, 在 vim 中可以通过 :set syntax? 查看当前 syntax 的值

1
2
autocmd BufRead,BufNewFile my.cnf set syntax=dosini
autocmd BufRead,BufNewFile build.gradle set syntax=groovy

colorschema

1
2
3
ll /usr/share/vim/vim74/colors
# 或者在vim中
:colo <tab>

安装vba插件

largeFile,
Manual
wget http://www.drchip.org/astronaut/vim/vbafiles/LargeFile.vba.gz
gunzip LargeFile.vba.gz
vi LargeFile.vba
:source %

1
2
3
4


:source %

将换行符从dos格式变为unix格式

参考:1

1
2
3
4
:update                     Save any changes.
:e ++ff=dos Edit file again, using dos file format ('fileformats' is ignored).
:setlocal ff=unix This buffer will use LF-only line endings when written.
:w Write buffer using unix (LF-only) line endings.
  • 删除BOM头
1
2
:set nobomb
:wq

全局替换

1
:%s/\t/    /g

tab

1
2
3
4
5
6
7
8
# 显示空白字符
:set list

# 替换为空格
:%s/\t/ /g

# 不显示空白字符
:set nolist

命令模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# 文件
:open pathToFile # 打开指定的文件
:bn # 查看下一个文件
:bp # 查看上一个文件
:args # 查看当前打开的文件列表
:split pathToFile # 在分割窗口中打开指定的文件
Ctrl+ww # 在分割窗口中循环切换文件
:e ftp://192.168.1.101/xxx.txt # 打开远程文件(FTP)
:e \\sambahost\share\xxx.txt # 打开远程文件(Samba)


# 光标移动
h # 左移1个字符(可前接数字)
l # 右移1个字符(可前接数字)
k # 上移1个字符(可前接数字)
j # 下移1个字符(可前接数字)

^ # 移至行首第一个非空白字符
0 # 移至行首
<Home> # 移至行首
$ # 移至行尾(可前接数字)
<End> # 移至行尾

w # 向后移动1个单词,光标停在单词首部(可前接数字)
b # 向后移动1个单词,光标停在单词首部(可前接数字)
e # 向后移动1个单词,光标停在单词尾部(可前接数字)
ge # 向后移动1个单词,光标停在单词尾部(可前接数字)

# 缩进
<< # 当前行向左缩进
>> # 当前行向右缩进

查看当前set的值
:set expandtab? # 打印该选项的使用方法和值
:set autoindent! # 该选项值取反(针对bool型)
:set option& # 重置该选项值为默认值
:verbose set textwidth? # 查看值


# 进入插入模式
i # 在当前光标位置前插入
I # 在当前行的行首插入
a # 在当前光标位置后插入
A # 在当前行的行尾插入
o # 在当前行之后插入一行
O # 在当前行之前插入一行

# 进入 visual 模式
v

插入模式

1
2
3
# 缩进
C-d # 当前行向左缩进
C-t # 当前行向右缩进

visual 模式

1
2
<                               # 当前选区向左缩进
> # 当前选区向右缩进
作者

邵文星

发布于

2020-06-23

更新于

2023-07-17

许可协议