原来 VIM 还可以这样玩

简介: 原来 VIM 还可以这样玩
vi/vim命令大全

vim参阅

配置文件vimrc

在vim文件中执行 :set nu是临时显示文件的行数,如果需要每个文件都生效,需要写入到vim的配置文件中

全局配置文件:/etc/vimrc

用户配置文件:~/.vimrc

如果没有vimrc文件,可以自己创建一个

不同的发行版,不同版本的vim,配置文件所在的路径也各不相同,可以使用vim --version命令查看

   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"

vim 状态栏

Vimscript 状态条

状态栏配置内容

hi user1 cterm=none ctermfg=darkblue ctermbg=NONE
hi user2 cterm=none ctermfg=darkmagenta ctermbg=NONE
hi user3 cterm=none ctermfg=darkgreen ctermbg=NONE
set statusline=%1*\%<%.15F\ -\ Encoding:\ %{&fenc}
set statusline+=%=%2*\Current:\ %l\ Total:\ %L\ %*
set statusline+=%3*\%3p%%
set laststatus=2
hi user1 设置颜色的样式,为了应用到 set statusline的内容当中

状态栏常用信息

%< 如果状态行过长,在何处换行
%F 完整文件路径名
%.<num>F 文件路径名长度不超过,超过则保留最后的长度
%y 文件类型
%m 如果缓冲区已修改则表示为[+]
%r 如果缓冲区为只读则表示为[RO]
%h 如果缓冲区为帮助显示为[Help]
%w 如果为预览窗口则显示为[Preview]
%{&ff} 显示文件系统类型
%{&fenc} 显示文件编码
%l 光标所在行数
%L 文件总行数
%c 光标所在列数
%p 当前行数占总行数的的百分比

显示状态栏

set laststatus=0 不显示状态栏
set laststatus=1 只在多窗口时显示状态栏
set laststatus=2 总是显示状态栏

终端安全色

VIM支持的安全色很少,通过dark和light来表示暗色和亮色,可以通过配置 set t_Co=256参数来开启256色

cterm 设置粗体,斜体,正体
ctermfg 前景色
ctermbg 背景色

Black 黑色
White 白色
Red, LightRed,DarkRed 红色
Green, LightGreen,DarkGreen 绿色
Blue, LightBlue,DarkBlue 蓝色
Yellow, LightYellow,DarkYellow 黄色
Gray,LightGray, DarkGray 灰色
Cyan, LightCyan,DarkCyan 青色
Magenta, LightMagenta,DarkMagenta 洋红色

vimrc 配置文件

注意一下自己的vim版本,我的vim版本是7.4的,不一定适用于其他版本

以下介绍到的,以个人习惯为主,方便自己后期使用,直接黏贴到vimrc文件,保存即可

在vimrc文件中,双引号表示注释,下面模板中,如果有自己需要用到的,可以去掉双引号,使配置生效

当然,可以把上面的状态栏一起加到配置文件里面去

syntax on                                                      " 开启语法高亮
hi cursorLine cterm=bold ctermbg=DarkGray ctermfg=NONE
set cursorline                                                 " 高亮显示当前行,引用上面定义的颜色样式
" hi cursorcolumn cterm=bold ctermbg=DarkGray ctermfg=NONE
" set cursorcolumn                                             " 高亮显示当前列,引用上面定义的颜色样式
" set t_Co=256                                                 " 开启256色
set nocompatible                                               " 不与vi兼容
set showmode                                                   " 在底部显示当前处于什么模式
set encoding=utf-8                                             " 设置编码格式为utf-8
" set paste                                                    " 解决外部内容黏贴引起的缩进错行
" set number                                                   " 显示行数
set tabstop=2                                                  " tab的宽度为2个空格
set expandtab                                                  " 以空格键来替换tab键
" set autoindent                                               " 和上一行的缩进一致
" set wrap                                                     " 自动换行
" set linebreak                                                " 遇到符号才自动换行
set incsearch                                                  " 总是从头开始搜索
" set list                                                     " 检测行尾是否有多余的空格和tab键
set wildmenu                                                   " 末行模式tab键补齐,以此tab选择后续指令
set wildmode=longest:list,full                                 " tab补齐的模式
hi search cterm=none ctermbg=Darkblue ctermfg=NONE
set hlsearch                                                   " 高亮搜索关键字,引用上面定义的颜色样式
vim可以启用鼠标模式,然而用鼠标,为啥要用vim呢,所以,我果断没有启用

推荐

以下资料,是我写这篇博客的时候查看的,一些不错的参考,并且整体排版看着也很舒服

w3cschool-vim教程

__倔强的贝吉塔-状态栏

Vim documentation: options

A Good Vimrc

目录
相关文章
|
7月前
|
Unix Linux 开发工具
1-vim介绍
1-vim介绍
48 2
|
XML 网络协议 Unix
这辈子你可能都不用学vim了
1975的秋天,Unix光环加身的大神Ken Thompson休了一个长假,从贝尔验室回到了自己的母校:加州大学伯克利分校,他将在这里以访问学者的身份待一学年。
|
IDE 网络安全 开发工具
Vim 真的那么难吗?
如果玩过知乎都会被那些大 V 洗脑说 Vim 好用,Vim 牛逼,也是因为这个原因才开始用 Vim 的,也想着总有一天会变成 Vim 高级玩家。 那这篇文章会教你怎么用 Vim 么?会,但是我不想像官方手册去说,只想提供一个学习 Vim 的学习方法和基本的指令。我更希望这篇文章做到的是 “授人以渔”。我不想写这种像 Vim 官方手册那种文章,因为复制粘贴所有指令过来,你也不会记多少的,更不会记住。
Vim 真的那么难吗?
|
数据可视化 IDE Java
人人都会Vim
Vim 通常是在服务器上操作/修改配置文件的时候使用。类似的编辑器当然还有 vi, emacs。同样作为编辑器与IDE最大的区别是不使用鼠标进行操作,完全使用键盘,具有系统资源占用小,打开较大文件速度快的特点。相对应的进行操作都是通过键盘敲命令操作,所以要记住比较多的命令,学习起来还是比较枯燥的,这里整理了一些常用的命令,以备大家在用的时候作为一个参考。
|
开发工具
vim的简单介绍与使用
vim的简单介绍与使用
155 0
|
开发工具
|
开发工具 git C++