vim

如何让 Vim 成为我们的神器

2017-10-24

(点击上方公众号,可快速关注)

来源:枫上雾棋

segmentfault.com/a/1190000011466454

如有好文章投稿,请点击 → 这里了解详情

Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下

安装

sudo apt-get install vim // Ubuntu

其他平台,可以自行谷歌

新手指南

vimtutor // vim 教程

上面是史上最简单,最全面的 Vim 基础教程,至今无人超越

下面是作者基于上面的归纳

移动光标

hjkl

2w 向前移动两个单词

3e 向前移动到第 3 个单词的末尾

0 移动到行首

$ 当前行的末尾

gg 文件第一行

G 文件最后一行

行号+G 指定行

<ctrl>+o 跳转回之前的位置

<ctrl>+i 返回跳转之前的位置

b、3b、w、3w:向前\后移动几个单词,标点也算一个单词。相应的大写状态为不含标点,即只把空格和换行符作为单词间隔符。

$:移动到行尾 3$:移动到3行后的行尾

^:移动到行首,0也是

+:移到下一行的行首

-: 移到上一行的行首

f:搜索命令,小写时向后搜索(用来定位)如 fx:定位到下一个x上。 Fx:定位到上一个x上,重复时,可用;或, 不过 , 表示反方向

%:跳到相对应的括号上,编程时常用

33G:跳转到33行 此时按``可以返回到原来行

gg:文件头 G: 文件尾

30%:跳转到文件的30%处

"H"意为Home, "M"为Middle, "L"为Last. 当前屏幕的上中下位置,大小写皆可

Ctrl+G:显示当前位置

set number:设置显示行号,set nonumber:关闭显示

:set ruler 设置在窗口右下角显示行号,与上面的好处是,节省空间

ctrl+u\d 向上\下滚动半屏

ctrl+e\y 向上\下滚动一行

ctrl+b\f 向上\下滚动一屏  这个比较实用,记住。

zz:将当前行滚动于屏幕中间,方便查看上下文 zt置顶,zb置尾

/string 查找string,回车后,按n键可以跳到下一个,N上一个,另外按/键后,按上下键可以找到以前查找的记录,同样的 :也有记录

?/string 同上,默认向上查找

:set ignorecase 大小写无关

:set noignorecase 大小写敏感

  • :查找下一个光标所在单词 #是查找上一个

:set hlsearch 高亮显示查找结果

:set nohlsearch 取消高亮

:nohlsearch 去掉当前显示的高完(一次性)

`` 上次光标停靠的行

% 匹配到相应括号处

向右移动本行一段距离 << 向左移动本行一段距离 3<< 把下面3行(包括本行),向左移动一段距离 :20,30>> 把20行到30行向右移动一段距离

退出

<esc> 进入正常模式

:q! 不保存退出

:wq 保存后退出

删除

x 删除当前字符

dw 删除至当前单词末尾

de 删除至当前单词末尾,包括当前字符

d$ 删除至当前行尾

dd 删除整行

2dd 删除两行

修改

i 插入文本

A 当前行末尾添加

r 替换当前字符

o 打开新的一行并进入插入模式

i 在光标前插入

I 在行首插入

a 在光标后插入

o:在当前行的下面另起一行,并变为插入模式

O:在当前行上面另起一行,变为插入模式

Ctrl+o:临时变成命令模式(一次而已)

:10,20y 回车即可,相应的删除也是如此 :10,20d (此方法比上面两种方法更简单)

:10,20 m 30 把10行到20行的内容,剪切到30行之后

:10,20 co 30 把10行到20行的内容,复制到30行之后

将光标放在 { 处,然后输入v%就可以把大括号中内容选定

撤销

u 撤销

<ctrl>+r 取消撤销

复制粘贴剪切

v 进入可视模式

y 复制

p 粘贴

yy 复制当前行

dd 剪切当前行

状态

<ctrl>+g 显示当前行以及文件信息

查找

/ 正向查找(n:继续查找,N:相反方向继续查找)

? 逆向查找

% 查找配对的 {,[,(

:set ic 忽略大小写

:set noic 取消忽略大小写

:set hls 匹配项高亮显示

:set is 显示部分匹配

替换

:s/old/new 替换该行第一个匹配串

:s/old/new/g 替换全行的匹配串

:%s/old/new/g 替换整个文件的匹配串

执行外部命令

:!shell 执行外部命令

.vimrc

.vimrc 是 Vim 的配置文件,需要我们自己创建

cd Home // 进入 Home 目录

touch .vimrc // 配置文件

Unix

vim-plug

Vim

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \

https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Neovim

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \

https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

其他平台,可以查看 vim-plug

基本配置

取消备份

set nobackup

set noswapfile

文件编码

set encoding=utf-8

显示行号

set number

取消换行

set nowrap

显示光标当前位置

set ruler

设置缩进

set cindent

set tabstop=2

set shiftwidth=2

突出显示当前行

set cursorline

查找

set ic

set hls

set is

左下角显示当前 vim 模式

set showmode

代码折叠

启动 vim 时关闭折叠代码

set nofoldenable

主题

syntax enable

set background=dark

colorscheme solarized

插件配置

树形目录

Plug 'scrooloose/nerdtree'

Plug 'jistr/vim-nerdtree-tabs'

Plug 'Xuyuanp/nerdtree-git-plugin'

autocmd vimenter * NERDTree

map <C-n> :NERDTreeToggle <CR>

let NERDTreeShowHidden=1

let g:NERDTreeShowIgnoredStatus = 1

let g:nerdtree_tabs_open_on_console_startup=1

let g:NERDTreeIndicatorMapCustom = {

\ "Modified"  : "✹",
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,961评论 5 473
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,444评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,009评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,082评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,101评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,271评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,738评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,395评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,539评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,434评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,481评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,160评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,749评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,816评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,038评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,548评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,140评论 2 341

推荐阅读更多精彩内容

  • 活点进去男士内裤哦的科技发达不打击哦发if不然不饿可哦就删吧巴萨不急超大酒吧玩不打击饭卡瑞卡v的包低端局饿不饿好疯...
    sgyui阅读 144评论 0 0
  • 冷雨入秋悲 擎风刃 写伤回荣华褪 碧叶碎 心亦灰叹身世浮萍 辗转沧泱百味何曾妄 宫阙重堆 忽如一夜 夜残衣袂袖起长...
    梦饮千樽月阅读 603评论 0 50
  • 又一次从梦中惊醒,已是夜里一点,这是你离开的第一百零一天 同样的梦,整整做了一百天,算上这次,一百零一夜,夜夜无眠...
    文刀咸生阅读 456评论 0 0