快速入门vim——常用vim配置、快捷按键、WinManager插件

快速入门vim——常用vim配置、快捷按键、WinManager插件

如果你不想手动配置,这里还为你准备了脚本。详见文章末尾,*(^_^)*。

常用配置

Ubuntu下vim配置所在/etc/vim/vimrc

set nocompatible "关闭vi兼容模式
set fileencoding=utf-8 "Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
set encoding=utf-8 "Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等
set cursorline "推荐设置, 将光标所在行以下划线标注显示
set smartindent "开启智能缩进模式, 其它模式还包括cindent, autoindent
set nu " 开启行号显示
set ic "搜索时,忽略大小写
set is "开启输入关键字, 立即匹配
set hlsearch "高亮显示搜索结果
set guifont=Consolas:h12 "win平台Gvim的设置界面字体设置
colorscheme torte "主题颜色设置
set nobackup "设置保存时,不生成备份文件
set noundofile "设置不生成undo文件
set tabstop=4 "设置tab宽度为4个空格的宽度
set softtabstop=4
set shiftwidth=4
set expandtab " 注意在set expandtab情况下,可以使用命令:%retab!,将tab换成空格。在set noexpandtab情况下,使用命令:%retab!,可以将空格转成tab
au BufNewFile,BufRead *.ll set filetype=masm " 设置llvm IR文件,以masm的样式显示
set ff=unix " ff 是fileformats 的缩写

func! HEX() "调用该函数后,文件以16进制显示
exec "w"
exec "%!xxd"
endfunc

func! EXPANDTAB() "调用该函数后,文件中的所有tab转换为4个空格
set expandtab
%ret! 4
endfunc

"-- WinManager 配置 --
let g:winManagerWindowLayout="FileExplorer" " 设置我们要管理的插件
func! WM()
exec "WMToggle"
endfunc

常用插件

Vim 得益于广大开发者的支持,各种繁多的插件使得 Vim 更加强大方便和益用。以下只罗列部分自己用到的,更多的自己需要的可以善用搜索。

ctrlp 优雅的地打开源代码

nerdtree 优雅的地浏览文件目录

snipmate 优雅的代码自动片断

supertab 优雅的代码补全

tabular 优雅的对齐

tagbar 优雅的outline

css-color 优雅的在vim里查看css颜色

vim-fugitive 优雅的在vim里使用git

vim-powerline 很美观实用的状态栏

vim-surround 优雅的编辑tag

vundule 优雅的管理你的vim插件

vimwiki 优雅的内建wiki

colorselector 优雅的像女人试衣服一样试配色

配置主题

配置主题需要在vimrc中以下面的命令指定主题,例如指定主题为elflord

colorscheme elflord

常见的主题有:

default

elflord

orning

eachpuff

late

lue

elek

vening

urphy

ron

torte

darkblue

desert

koehler

pablo

shine

zellner

每种主题的效果可以看这里

常用快捷键

文件操作

命令 解释
:e filename 打开文件编辑
:w 保存文件
:q 退出vim
:q! 退出vim,不保存文件
:x 保存文件,退出vim
:sav filename 另存为文件为filename
. 重复1次之前更改的操作
5. 重复5次之前更改的操作

在文件中移动

命令 解释
k or Up Arrow move the cursor up one line
j or Down Arrow 向下移动光标
e 将光标移动到单词的结尾
b 将光标移动到单词的开头
0 r ^ 将光标移动到行首
G 将光标移动到文件最后一行的行首
gg 将光标移动到文件第一行的行首
:59 移动光标到59行
20| 将光标移动到第20个字符列
% Move cursor to matching parenthesis
[[ 跳转到function的开头
[{ 跳转到block的开头
Ctrl + o 跳转到光标上一次停留的位置

剪切、复制和粘贴

命令 解释
y 复制选中的文本到剪贴板
p 粘贴剪贴板中的内容
dd 剪切当前行
yy 复制当前行
y$ 复制光标位置到行尾的所有内容到剪贴板
yw 复制一个单词到剪贴板
D 剪切光标位置到行尾的所有内容到剪贴板

搜索

命令 解释
/word 从上到下搜索word
?word 从下到上搜索word
* 从上到下搜索光标停留处的word
# 从下到上搜索光标停留处的word
/\cstring 搜索 STRING 或者 string
/jo[ha]n 搜索 john 或 joan。vim的搜索支持正则表达式,如果要搜索"[",需要转义,如:/\[
/< the 搜索以 the开头的单词
/the> 搜索以 the结尾的单词
/< the> 搜索 the单词
/fred|joe 搜索 fred 或 joe单词
/<\d\d\d\d> 搜索 4 个数字组成的单词
/^\n{3} 搜索 3个连续空行

替换

命令 解释
:%s/old/new/g 替换文件每行的第一个old为new
:%s/onward/forward/gi Replace onward by forward, case unsensitive
:%s/old/new/gc 替换文件中所有的old为new,每次一都会确认后才替换
:2,35s/old/new/g 替换文件中第2-35行所有的old为new
:5,$s/old/new/g 替换文件中第5行到结尾所有的old为new
:%s/^/hello/g 为每行首增加hello
:%s/$/Harry/g 为每行尾增加Harry
:%s/ *$//g 删除每行结尾的空白符
:g/string/d 删除所有包含string的行
:v/string/d 删除所有不包含string的行
s/Bill/Steve/ 替换当前行的第一个Bill为Steve
s/Bill/Steve/g 替换当前行的所有Bill为Steve
:%s/Bill/Steve/g 替换文件中的所有Bill为Steve
:%s/^M//g 删除 DOS 中的回车换行 (^M)
:%s/\r/\r/g 转换消除 DOS中的回车换行成换行

大小写转换

命令 解释
Vu 输入V进入VISUAL BLOCK模式选择文本,然后输入u,将所有选择文本转化为小写
VU 输入V进入VISUAL BLOCK模式选择文本,然后输入u,将所有选择文本转化为大写
g~~ Invert case
VeU 将一个单词转化为大写
Ve~ 一个单词切换大小写
:set ignorecase 设置搜索忽略大小写,可以简写为set ic
:%s/<./\u&/g 将所有单词首字母大写
:%s/<./\l&/g 将所有单词首字母小写
:%s/.*/\u& 将每行首字母大写
:%s/.*/\l& 将每行首字母小写

读写文件

命令 解释
:1,10 w outfile 将1-10行写到当前目录下名为outfile文件中
:1,10 w >> outfile 将1-10行追加到当前目录下名为outfile文件中
:r infile 将当前目录下infile名字的文件内容插入到当前行之下
:23r infile 将当前目录下infile名字的文件内容插入到23行之下

文件浏览器

vim自带的文件浏览器并不友好,推荐使用winmanager插件,下载地址,提取密码:ue7o

安装插件的步骤:

1.下载winmanager插件到Downloads文件夹

2.执行以下命令安装插件以及配置vim

cd ~/Downloads
unzip winmanager.zip -d winmanager# 解压
mkdir -p ~/.vim/doc/ # 如果已经有了该目录可以跳过此步骤
mkdir -p ~/.vim/plugin/ # 如果已经有了该目录可以跳过此步骤
cp ~/Downloads/winmanager/doc/winmanager.txt ~/.vim/doc/
cp ~/Downloads/winmanager/plugin/* ~/.vim/plugin/

# WinManager配置写入vimrc
sudo sh -c 'echo "
\"-- WinManager setting --
let g:winManagerWindowLayout=\"FileExplorer\" \" 设置我们要管理的插件
func! WM()
exec \"WMToggle\"
endfunc" >> /etc/vim/vimrc'

3.使用winmanager插件,使用vim打开/tmp/1.txt文件,然后在vim中执行:call WM(),即可打开winmanager,如下图所示:

关闭winmanager,再次执行call WM()即可

和 Unix 系统交互

命令 解释
:!pwd 执行Linux系统命令pwd
!!pwd 执行Linux系统命令pwd,并将结果插入到该文件
:sh 打开sh,暂时回到linux命令行

分屏显示

命令 解释
:split filename 横向分割窗口,打开文件
ctrl-w up arrow 选择上一个窗口
ctrl-w ctrl-w 选择下一个窗口
:vsplit file 竖向分割窗口,打开文件

Marks

命令 解释
m {a-z} 标记当前位置为{a-z}
’ {a-z} 移动光标到标签{a-z}
‘’ 移动光标到上一个标签

文本缩进

命令 解释
:set autoindent 打开自动缩进
:set smartindent 打开智能缩进
:set shiftwidth=4 设置缩进的宽度
>> 向右增加缩进
<< 向左增加缩进
=% 调整()或{}之间的缩进
VG= 重新调整全文的缩进

语法高亮

命令 解释
:syntax on 打开语法高亮
:syntax off 关闭语法高亮
:set syntax=perl 设置语法高亮为perl模式,前提是必须有perl语法高亮的配置

vim按键图

一键配置vim

如果你不想手动配置,这里还为你准备了脚本下载,提取密码: bobc

预先将vim_config.tar.gz下载到~/Downloads中

使用方法:

cd ~/Downloads
tar -zxvf vim_config.tar.gz # 解压
cd vim_config
./vim_config.sh # 配置vim

执行完以上命令后,你就可以和vim快乐的相处了。

猜你喜欢

转载自blog.csdn.net/weixin_46222091/article/details/105031017
今日推荐