一个前端开发工程师的Vim跟IDE一样

叁个前端开垦程序猿的Vim跟IDE同样

2017/01/18 · 基本功本领 ·
vim

原稿出处: 兄弟调调   

此处是自家新布局出来的
jaywcjlove/vim-web
一贯在打磨中,基本上能够用了。拿出去骗 star 先上海教室

图片 1

前段时间创制完毕的IDE首要有:
terminator+Bundle+NEENCOREDtree+YCF(youcompleteme)+UltiSnips+新成立文件自动补充注释和小编,版权音信等

此时此刻加强了一晃Ubuntu
16.04终极,代码提醒和树形文件管理:

近来成立完成的IDE重要有:
terminator+Bundle+NE凯雷德Dtree+YCF(youcompleteme)+UltiSnips+新创制文件自动补充注释和小编,版权新闻等

前端开荒IDE工具

  • WebStorm
  • Visual Studio Code
  • Sulime Text
  • Atom

安装

摩登版本的Vim 7.4+ 使用(brew install macvim)安装,vim 版本更新
brew install macvim --override-system-vim

Shell

$ git clone ~/.vim $ ln -s
~/.vim/.vimrc ~/.vimrc # 上边推行到位以往 # 初始下载安装插件 $ vim #
在vim中运行 “:PlugInstall” # 上面插件安装完结未来推行上边内容 #
command-t 文件寻觅插件安装 $ cd ~/.vim/plugged/command-t $ rake make #
寻找文本内容工具 # 须求设置 CtrlSF的信任ripgrep $ brew install ripgrep
# 代码提示插件也亟需你运转安装哦,不然未有效劳嘞 cd
~/.vim/plugged/YouCompleteMe ./install.sh # 须要设置ctags
否则配置没效果啊 # ctags for Mac $ brew install ctags # ctags for
Centos7 $ yum install ctags

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
$ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim
$ ln -s ~/.vim/.vimrc ~/.vimrc
 
# 上面执行完成之后
# 开始下载安装插件
$ vim # 在vim中运行 ":PlugInstall"
 
# 上面插件安装完成之后执行下面内容
# command-t 文件搜索插件安装
$ cd ~/.vim/plugged/command-t
$ rake make
 
# 搜索文本内容工具
# 需要安装 CtrlSF的依赖ripgrep
$ brew install ripgrep
 
# 代码提示插件也需要你运行安装哦,不然没有效果嘞
cd ~/.vim/plugged/YouCompleteMe
./install.sh
 
# 需要安装ctags 不然配置没效果哦
# ctags for Mac
$ brew install ctags
# ctags for Centos7
$ yum install ctags

注: 暗中认可已经安装了前面一个必备插件。.vimrc 是决定 vim
行为的布局文件,位于 ~/.vimrc,不论 vim
窗口外观、突显字体,照旧操作模式、飞快键、插件属性均可通过编写制定该配置文件将
vim 调教成最符合您的编辑器。

图片 2

1,当职责很多的时候,假诺在Ubuntu下切换多少个极端,会相比麻烦,这里本人找到二个相比好的巅峰(terminator)

图片 2

WebStorm

WebStorm下载地址:

  • ws下载路子1
  • ws破解码

出于ws须求破解,所以大家尝试采纳方面包车型地铁多少个ws下载门路进行下载并破解安装

翻开配置地点

Shell

# 步向vim输入下边字符 :echo $MYVIMRC

1
2
# 进入vim输入下面字符
:echo $MYVIMRC

 

sudo apt-get install terminator

 

Visual Studio Code

vscode
下载地

插件管理

那之中刚起首使用的Vim插件管理工科具VundleVim/Vundle.vim,后边为了我们安装方便,使用了
junegunn/vim-plug,这些插件管理工科具,小编非常不欣赏,多了个
autoload
目录,安装进程也奇丑无比,安装高效,所以就接纳它呢,下边发号施令更新安装的
plug.vim,暗中认可已经有了不须要这一步。

Shell

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

1
2
curl -fLo ~/.vim/autoload/plug.vim –create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

1,当任务非常多的时候,若是在Ubuntu下切换多个极端,会比较麻烦,这里作者找到一个比较好的极端(terminator)

安装完之后的法力:

1,当职责很多的时候,若是在Ubuntu下切换两极分化,会相比麻烦,这里小编找到贰个比较好的终极(terminator)

Sulime Text

Sulime下载地址

设置插件

将配置音讯其步向 ~/.vim/.vimrc 中的call plug#begin()
call plug#end() 之间,最终步入 vim 输入上面发号施令,摁 enter 进行安装。

Shell

:PlugInstall

1
:PlugInstall

sudo apt-get install terminator

图片 4

sudo apt-get install terminator

Atom

atom下载地址

前端开拓IDE工具众多,这些选项使用哪三个工具来支付基于个体的喜好就行,可是个人推举应用WS,就算WS未有sublime、vscode那么轻量级,可是利用起来的确能给开垦带来比很多的便利

履新插件

插件更新频率较高,大约每隔二个月你应该看看怎样插件有推出新本子,批量翻新,只需在
vim 中举办下边发号施令就能够。

Vim

:PlugUpdate

1
:PlugUpdate

安装完事后的成效:

右键能够划分窗口依然新建tab, preference能够定制外观

安装完之后的坚守:

低价时间

  • 笔者React
    Native开源项目OneM地址(遵照集团支付标准搭建框架变成开采的):https://github.com/guangqiang-liu/OneM:招待小朋侪们
    star
  • 作者简书主页:包罗50多篇途乐N开辟有关的本事文章http://www.jianshu.com/u/023338566ca5
    款待小同伴们:多么关怀多多点赞
  • 作者React Native QQ才具沟通群:620792950 款待小友人进群调换学习
  • 友情提醒:在付出中有相逢ENVISIONN相关的才干难题,接待小朋侪插足交换群(620792950),在群里提问、相互沟通学习。交换群也定时更新最新的中华VN学习材料给大家,多谢大家帮助!

卸载插件

先在 .vimrc 中注释恐怕去除相应插件配置音信,然后在 vim
中实践下边发号施令,就可以删除相应插件。

Vim

:PlugClean

1
:PlugClean

图片 5

图片 6

图片 5

启动Vim

Shell

$ vim

1
$ vim

右键能够划分窗口依旧新建tab, preference能够定制外观

2,安装YouCompleteMe

右键能够分开窗口也许新建tab, preference能够定制外观

常用急迅键

此间的快速键是作者布置好的可用的。

Vim

;fl # 换出菜单列表 nw # 窗口切换 ;lw # 跳转至右方的窗口 ;hw #
跳转至左方的窗口 ;kw # 跳转至上方的子窗口 ;jw # 跳转至下方的子窗口 #
能够直接在Tab之间切换。 gt # 后一个Tab标签 gT # 前一个Tab标签 ;q #
关闭四个标签 ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b
就是`backward` ;t # 通过搜索文件张开文件 # 飞快文本钦命位 ;;b #
光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位
<找寻自负> 出现一定音讯 ;;F # 光标前代码定位 <搜索自负>
出现一定音讯 ;ilt #
设置展现/掩盖标签列表子窗口(函数列表)的神速键。速记:identifier list by
tag 0 # 行首 $ # 行尾 :r ~/git/R.js # 将文件内容导入到该公文中
:!which ls # 找命令不生产vim运转命令 :!date # 查看编辑时间 :r !date #
将近期编辑时间导入当前文件光标所在行 U # 选中 – 变大写 u # 选中 –
变小写 ~ # 选中 – 变大写变小写,小写变大写 ;cc # 代码注释”//” ;cm #
代码段落注释”/**/” ;ci # 注释相反,注释的吊销注释,没注释的注释 ;cs
# 段落注释,注释每行后面加”*” ;c$ # 光标开首到行终止的地方注释 ;cA #
在行尾巴部分加多注释符”//” ;cu # 撤废代码注释 za # 单个代码折叠 zM #
折叠左右代码 z宝马X3 # 全部代码折叠撤废 ;i # 开/关缩进可视化 > #
代码锁进 – 选中摁尖括号 < # 代码锁进 – 选中摁尖括号
:1,24s/header/www/g # 第1到24行将header替换成www <c-z> # 退出Vim

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
50
51
52
53
54
55
56
57
;fl # 换出菜单列表
nw  # 窗口切换
;lw # 跳转至右方的窗口
;hw # 跳转至左方的窗口
;kw # 跳转至上方的子窗口
;jw # 跳转至下方的子窗口
 
 
# 可以直接在Tab之间切换。
gt # 后一个Tab标签
gT # 前一个Tab标签
;q # 关闭一个标签
 
ctrl-f # 下一页 f 就是`forword`
ctrl-b # 上一页 b 就是`backward`  
 
;t # 通过搜索文件打开文件
 
# 快速文本内定位
;;b # 光标前代码定位
;;e # 光标后代码定位
;;f # 光标后代码定位 <搜索自负> 出现定位信息
;;F # 光标前代码定位 <搜索自负> 出现定位信息
 
;ilt # 设置显示/隐藏标签列表子窗口(函数列表)的快捷键。速记:identifier list by tag
 
0   # 行首
$   # 行尾
 
:r ~/git/R.js # 将文件内容导入到该文件中
:!which ls  # 找命令不推出vim运行命令
:!date      # 查看编辑时间
:r !date    # 将当前编辑时间导入当前文本光标所在行
 
U # 选中 – 变大写
u # 选中 – 变小写
~ # 选中 – 变大写变小写,小写变大写
 
;cc # 代码注释"//"
;cm # 代码段落注释"/**/"
;ci # 注释相反,注释的取消注释,没注释的注释
;cs # 段落注释,注释每行前面加"*"
;c$ # 光标开始到行结束的位置注释
;cA # 在行尾部添加注释符"//"
;cu # 取消代码注释
 
za # 单个代码折叠
zM # 折叠左右代码
zR # 所有代码折叠取消
 
;i  # 开/关缩进可视化
>   # 代码锁进 – 选中摁尖括号
<   # 代码锁进 – 选中摁尖括号
 
:1,24s/header/www/g  # 第1到24行将header替换成www
 
<c-z>  # 退出Vim

图片 8

bundle是二个插件安装处理器,安装实现以往,就能在家目录上边包车型地铁.vim目录生成bundle目录及相关安顿

图片 8

基本功运用

  • inoremap (Insert Mode)就只在插入(insert)方式下生效
  • vnoremap (Visual Mode)只在visual情势下生效
  • nnoremap (Normal Mode)就在normal方式下(狂按esc后的方式)生效
  • 快捷键<c-y>, 标示(Ctrly,)

2,安装YouCompleteMe

本身动用的是git安装,bundle安装太慢了,看不见进程

2,安装YouCompleteMe

快速键通配符

赶快键通配符 <leader>
相当于是贰个通用的命令符,默许好疑似\,你能够在.vimrc少校他改为私自四个按钮,在大家以此布局作者改为了冒号;

Vim

” 定义急迅键的前缀,即 <Leader> let mapleader=”;”

1
2
" 定义快捷键的前缀,即 <Leader>
let mapleader=";"

bundle是贰个插件安装管理器,安装实现未来,就能在家目录上边包车型客车.vim目录生成bundle目录及有关配置

在家目录下,cd .vim/bundle/

bundle是贰个插件安装管理器,安装到位之后,就能在家目录下边包车型大巴.vim目录生成bundle目录及连锁安插

插入命令

Vim

a # → 在光标所在字符后插入 A # → 在光标所在字符尾插入 i # →
在光标所在字符前安排 I # → 在光标所在行行首插入 o # → 在光标下插入新行
O # → 在光标上插入新行

1
2
3
4
5
6
a # → 在光标所在字符后插入  
A # → 在光标所在字符尾插入  
i # → 在光标所在字符前插入  
I # → 在光标所在行行首插入  
o # → 在光标下插入新行  
O # → 在光标上插入新行

自家利用的是git安装,bundle安装太慢了,看不见进程

下载YouCompleteMe:

作者使用的是git安装,bundle安装太慢了,看不见进程

去除命令

Vim

x # → 删除关闭所在处字符 nx # → 删除关闭所在处n个字符 dd # →
删除光标所在行, ndd # → 删除n行 dG # → 删除光标所在行到文件末尾内容 D
# → 删除光标所在处到行尾内容 :n1,n2d # → 删除钦命范围的行 如:1,2d

1
2
3
4
5
6
7
x   # → 删除关闭所在处字符  
nx  # → 删除关闭所在处n个字符  
dd  # → 删除光标所在行,
ndd # → 删除n行  
dG  # → 删除光标所在行到文件末尾内容  
D   # → 删除光标所在处到行尾内容  
:n1,n2d # → 删除指定范围的行 如:1,2d

在家目录下,cd .vim/bundle/

git clone –recursive

在家目录下,cd .vim/bundle/

恒定命令

Vim

:set number #→ 设置行号 简写set nu :set nonu #→ 撤销行号 gg #→
到第一行 G #→ 到结尾一行 nG #→ 到第n行 :n #→ 到第n行 S #→ 移至行尾 0
#→ 移至行尾 hjkl #→ 前下上后 w #→ 到下多少个单词的启幕 b #→ 与w相反 e
#→ 到下一个单词的终极。 ge #→ 与e相反 0 #→ 到行头 ^ #→
到本行的率先个非blank字符 $ #→ 到行尾 g_ #→
到本行最后三个不是blank字符的岗位。 fa #→
到下八个为a的字符处,你也得以fs到下一个为s的字符。 t, #→
到逗号前的率先个字符。逗号能够产生任何字符。 3fa #→
在脚下行查找第一个冒出的a。 F 和 T → 和 f 和 t 同样,只可是是相反方向。
zz # 将近期行置于显示器中间(不是转发…) zt #
将近日行置于显示器上方(不是猪头~) zb # 底端啦~

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
:set number   #→ 设置行号 简写set nu  
:set nonu   #→ 取消行号  
gg  #→ 到第一行  
G   #→ 到最后一行  
nG  #→ 到第n行  
:n  #→ 到第n行  
S   #→ 移至行尾  
0   #→ 移至行尾  
hjkl #→ 前下上后  
 
w   #→ 到下一个单词的开头  
b   #→ 与w相反  
e   #→ 到下一个单词的结尾。  
ge  #→ 与e相反  
 
0   #→ 到行头  
^   #→ 到本行的第一个非blank字符  
$   #→ 到行尾  
g_  #→ 到本行最后一个不是blank字符的位置。  
fa  #→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。  
t,  #→ 到逗号前的第一个字符。逗号可以变成其它字符。  
3fa #→ 在当前行查找第三个出现的a。  
F 和 T → 和 f 和 t 一样,只不过是相反方向。  
 
zz # 将当前行置于屏幕中间(不是转载…)  
zt # 将当前行置于屏幕顶端(不是猪头~)  
zb # 底端啦~

下载YouCompleteMe:

以下为重大安装命令和须求安装的事物:

下载YouCompleteMe:

复制剪切

yy 和 p 的组合键,恐怕 dd 和 p 的组合键

Vim

yy # → 复制当前行 nyy # → 复制当前行以下n行 dd # → 剪切当前行 ndd #
→ 剪切当前行以下n 行 p、P # → 粘贴在现阶段光标所在行或行上 2dd # →
删除2行 3p # → 粘贴文本3次

1
2
3
4
5
6
7
yy    # → 复制当前行  
nyy   # → 复制当前行以下n行  
dd    # → 剪切当前行  
ndd   # → 剪切当前行以下n 行  
p、P  # → 粘贴在当前光标所在行或行上  
2dd   # → 删除2行  
3p    # → 粘贴文本3次

git clone –recursive

cd YouCompleteMe/

git clone –recursive

大约排版

Vim

:ce(nter) # 居中显得光标所在行 :ri(ght) # 靠右呈现光标所在行 :le(ft)
# 靠左呈现光标所在行 J # 将光标所在下一行合并到光标所在行 >> #
光标所在行扩大缩进(八个tab) << # 光标所在行减少缩进(一个tab)
n>> # 光标所在行开始的n行扩充缩进 n<< #
光标所在行起初的n行减弱缩进

1
2
3
4
5
6
7
8
9
10
:ce(nter)  # 居中显示光标所在行
:ri(ght)   # 靠右显示光标所在行
:le(ft)    # 靠左显示光标所在行
J          # 将光标所在下一行合并到光标所在行
 
>>         # 光标所在行增加缩进(一个tab)
<<         # 光标所在行减少缩进(一个tab)
 
n>>        # 光标所在行开始的n行增加缩进
n<<        # 光标所在行开始的n行减少缩进

以下为关键安装命令和内需设置的东西:

sudo apt-get install llvm-3.9 clang-3.9 libclang-3.9-dev
libboost-all-dev
sudo apt-get install python-dev python3-dev
mkdir ~/.ycm_build
cd ~/.ycm_build

以下为首要安装命令和内需安装的事物:

封存退出

Vim

:w new_filename # → 保存为钦赐文件 :w # → 保存修改 :wq # →
保存修改并盛产 ZZ # → 快速键,保存修改并推出 :q! # → 不保留修改推出
:wq! # → 保存修改并盛产(文件全体者,root权限的客户)

1
2
3
4
5
6
:w new_filename     # → 保存为指定文件  
:w   # → 保存修改  
:wq  # → 保存修改并推出  
ZZ   # → 快捷键,保存修改并推出  
:q!  # → 不保存修改推出  
:wq! # → 保存修改并推出(文件所有者,root权限的用户)

cd YouCompleteMe/

cmake -G “Unix Makefiles” .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

cd YouCompleteMe/

整页翻页

Vim

ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b 就是`backward`

1
2
ctrl-f # 下一页 f 就是`forword`
ctrl-b # 上一页 b 就是`backward`

sudo apt-get install llvm-3.9 clang-3.9 libclang-3.9-dev
libboost-all-dev
sudo apt-get install python-dev python3-dev
mkdir ~/.ycm_build
cd ~/.ycm_build

cmake -G “Unix Makefiles” -DUSE_SYSTEM_BOOST=ON
-DUSE_SYSTEM_LIBCLANG=ON .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

sudo apt-get install llvm-3.9 clang-3.9 libclang-3.9-dev
libboost-all-dev
sudo apt-get install python-dev python3-dev
mkdir ~/.ycm_build
cd ~/.ycm_build

替换

cmake -G “Unix Makefiles” .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

cmake –build . –target ycm_core –config Release

cmake -G “Unix Makefiles” .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

轮换撤销

Vim

r # → 替代关闭所在处字符 本田CR-V # → 从光标所在处最初轮换字符,摁ESC甘休 u
# → 撤废上一步操作 ctrl + r # → 再次来到上一步

1
2
3
4
r # → 取代关闭所在处字符  
R # → 从光标所在处开始替换字符,摁ESC结束  
u # → 取消上一步操作  
ctrl + r # → 返回上一步

cmake -G “Unix Makefiles” -DUSE_SYSTEM_BOOST=ON
-DUSE_SYSTEM_LIBCLANG=ON .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

cp
~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py
~/.vim/

cmake -G “Unix Makefiles” -DUSE_SYSTEM_BOOST=ON
-DUSE_SYSTEM_LIBCLANG=ON .
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

急忙替换

可视化格局下选中内部多个,接着键入
ctrl-n,你会发觉第贰个该字符串也被选中了,持续键入
ctrl-n,你能够选中全部同一的字符串,把那个职能与 ctrlsf 结合

cmake –build . –target ycm_core –config Release

图片 10

cmake –build . –target ycm_core –config Release

准确替换

vim
有强大的内容替换命令,实行内容替换操作时,注意:怎么样钦赐替换文件范围、是或不是整词匹配、是不是逐条确认后再交替。

Vim

:[range]s/{pattern}/{string}/[flags]

1
:[range]s/{pattern}/{string}/[flags]
  • 假诺在此时此刻文件内替换,[range] 不用钦定,暗中同意就在日前文件内;
  • 若果在当下相中区域,[range] 也无须钦赐,在你键入替换命令时,vim
    自动将转移如下命令::'<,'>s/{pattern}/{string}/[flags]
  • 您也足以钦命行范围,如,第三行到第五行::3,5s/{pattern}/{string}/[flags]
  • 假如对张开文件实行交换,你要求先通过 :bufdo 命令显式告知 vim
    范围,再奉行替换;
  • 一经对工程内具有文件举办轮换,先 :args **/.cpp */*.h 告知 vim
    范围,再施行替换;

:21,27s/^/#/g 行第一堆换#替换(增加)掉
:ab mymail asdf@qq.com 输入mymail 摁下空格自动替换到asdf@qq.com

cp
~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py
~/.vim/

 

cp
~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py
~/.vim/

开关注释

  • ;cc,注释当前选中文本,假如当选的是整行则在每行首增添
    //,若是当选一行的有的内容则在当选部分前后增多分别/**/
  • ;cu,撤废选中文本块的解说。

图片 11

 

图片 11

工程文件菜单

自定义急忙键

Vim

;fl # 展现文件菜单 file list

1
;fl # 显示文件菜单 file list

自带快速键

Vim

shift+i # 呈现/隐蔽隐敝文件 t # 在新 Tab 中开采选中文件/书签,并跳到新
Tab T # 在新 Tab 中张开选汉语件/书签,但不跳到新 Tab i # split
贰个新窗口展开选普通话件,并跳到该窗口 gi # split
二个新窗口张开选普通话件,但不跳到该窗口 s # vsplit
三个新窗口张开选汉语件,并跳到该窗口 gs # vsplit 一个新
窗口张开选中文件,但不跳到该窗口 ctrl + w + h # 光标 focus 侧边树形目录
ctrl + w + l # 光标 focus 左侧文件显示窗口 ctrl + w + w #
光标自动在左侧面窗口切换 ctrl + w + r # 移动当前窗口的布局地点 o #
在已有窗口中开拓文件、目录或书签,并跳到该窗口 go # 在已有窗口
中开采文件、目录或书签,但不跳到该窗口 ! # 实行当前文件 O #
递归张开选中 结点下的有着目录 x # 合拢选中结点的父目录 X # 递归
合拢选中结点下的保有目录 e # Edit the current dif 双击 也就是NE瑞鹰DTree-o 中键 对文本也就是 NELX570DTree-i,对目录也等于 NESportageDTree-e D #
删除当前书签 # P # 跳到根结点 p # 跳到父结点 K #
跳到当前目录下同级的率先个结点 J # 跳到当前目录下同级的最终贰个结点 k
# 跳到当前目录下同级的前贰个结点 j # 跳到当前目录下同级的后三个结点 C
# 将当选目录或选中文件的父目录设为根结点 u #
将近来根结点的父目录设为根目录,并产生合拢原根结点 U #
将近些日子根结点的父目录设为根目录,但保持张开原根结点 r # 递归刷新选中目录
大切诺基 # 递归刷新根结点 m # 突显文件系统菜单 cd # 将 CWD 设为当选目录 I #
切换是或不是出示隐敝文件 f # 切换是还是不是选择文件过滤器 F # 切换是不是突显文件 B
# 切换是还是不是出示书签 # q # 关闭 NerdTree 窗口 ? # 切换是不是出示 Quick
Help

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
shift+i      # 显示/隐藏隐藏文件
t       # 在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       # split 一个新窗口打开选中文件,并跳到该窗口
gi      # split 一个新窗口打开选中文件,但不跳到该窗口
s       # vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      # vsplit 一个新 窗口打开选中文件,但不跳到该窗口
 
ctrl + w + h    # 光标 focus 左侧树形目录
ctrl + w + l    # 光标 focus 右侧文件显示窗口
ctrl + w + w    # 光标自动在左右侧窗口切换
ctrl + w + r    # 移动当前窗口的布局位置
o       # 在已有窗口中打开文件、目录或书签,并跳到该窗口
go      # 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
 
!       # 执行当前文件
O       # 递归打开选中 结点下的所有目录
x       # 合拢选中结点的父目录
X       # 递归 合拢选中结点下的所有目录
e       # Edit the current dif
 
双击    相当于 NERDTree-o
中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
 
D       # 删除当前书签
#
P       # 跳到根结点
p       # 跳到父结点
K       # 跳到当前目录下同级的第一个结点
J       # 跳到当前目录下同级的最后一个结点
k       # 跳到当前目录下同级的前一个结点
j       # 跳到当前目录下同级的后一个结点
 
C       # 将选中目录或选中文件的父目录设为根结点
u       # 将当前根结点的父目录设为根目录,并变成合拢原根结点
U       # 将当前根结点的父目录设为根目录,但保持展开原根结点
r       # 递归刷新选中目录
R       # 递归刷新根结点
m       # 显示文件系统菜单
cd      # 将 CWD 设为选中目录
 
I       # 切换是否显示隐藏文件
f       # 切换是否使用文件过滤器
F       # 切换是否显示文件
B       # 切换是否显示书签
#
q       # 关闭 NerdTree 窗口
?       # 切换是否显示 Quick Help

 

参谋资料:

 

切割窗口

Vim

:new # 水平切割窗口 :split # 水平切割窗口(或然直接输入 :sp 也得以)
:vsplit # 垂直切割( 也能够 :vs )

1
2
3
:new      # 水平切割窗口
:split    # 水平切割窗口(或者直接输入   :sp  也可以)
:vsplit   # 垂直切割( 也可以  :vs  )

 

 

Tab操作

参谋资料:

参谋资料:

多tab窗口拆分

Vim

:tabnew [++opt选项] [+cmd] 文件 #确立对点名文件新的tab :tabc
#关闭当前的tab :tabo #闭馆全部别的的tab :tabs #翻开全部展开的tab
:tabp #前一个 :tabn #后一个

1
2
3
4
5
6
:tabnew [++opt选项] [+cmd] 文件            #建立对指定文件新的tab
:tabc      #关闭当前的tab
:tabo      #关闭所有其他的tab
:tabs      #查看所有打开的tab
:tabp      #前一个
:tabn      #后一个

tab切换

Vim

# 上边为自定义神速键 tnew #新建tab tn #后一个 tab tp #前一个 tab #
窗口切换 nw # 标准情势下: gt , gT #能够直接在tab之间切换。 #
还会有好些个他命令, 看官大人本身, :help table 吧。 Ctrl+ww #
移动到下二个窗口 # 可能 先按组合键ctrl+w
,然后都松开,然后通过j/k/h/l(等于vim移动的方向键)
来运动大哦哦左/上/下/右的窗口 Ctrl+wj #移动到人间的窗口 Ctrl+wk
#活动到上边的窗口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下面为自定义快捷键
tnew #新建tab
tn #后一个 tab
tp #前一个 tab
 
# 窗口切换
nw
 
# 标准模式下:
gt , gT #可以直接在tab之间切换。
 
# 还有很多他命令, 看官大人自己, :help table 吧。
Ctrl+ww # 移动到下一个窗口
# 或者 先按组合键ctrl+w ,然后都松开,然后通过j/k/h/l(等于vim移动的方向键) 来移动大哦哦左/上/下/右的窗口
Ctrl+wj #移动到下方的窗口
Ctrl+wk #移动到上方的窗口

 

HTML操作

方便操作得益于插件Emmet.vim。键入
div>p#foo$*3>a 然后按快速键 <c-y>, – 表示 <Ctrl-y>
后再按逗号【Ctrly,】。

按大写的 V 步入 Vim 可视形式,行选拔上边三行内容,然后按钮<c-y>,,那时 Vim 的一声令下行会提醒 Tags:,键入ul>li*,然后按
Enter。

<ctrl+y>d 依据光标地点选中整个标签
<ctrl+y>D 依照光标地点选中整个标签内容
<ctrl-y>n 跳转到下一个编辑点
<ctrl-y>N 跳转到上叁个编辑点
<ctrl-y>i 更新图片大小
<ctrl-y>m 合併成一行
<ctrl-y>k 移除标签对
<ctrl-y>j 分割/合并标签
<ctrl-y>/ 切换注释
<ctrl-y>a 从 URL 地址生成锚
<ctrl-y>A 从 UKugaL 地址改动援用文本

3,用bundle安装nerdtree

招来查找

 

安装:

 

文本找寻

找寻有七个插件能够行使
wincent/command-t 和
junegunn/fzf,fzf从未有过下载下来,这里在使用
command-t ,使用的时候记得,走入目录 cd ~/.vim/plugged/command-t
运行 rake make

Vim

;t # 运行找出文件

1
;t # 启动搜索文件

3,用bundle安装nerdtree

  在.vimrc中,写入必要安装的插件

3,用bundle安装nerdtree

探求文本内容

dyng/ctrlsf.vim,在插件完毕安装之后,供给设置别的的工具,技术运转

Shell

brew install ripgrep # 上面安装好了随后,在.vimrc中布置上面内容 #
快速键速记法:search in project let g:ctrlsf_ackprg = ‘rg’ #
设置火速键 nnoremap <Leader>sp :CtrlSF<C帕杰罗> # 选中查找 –
文本中选中关键字 vmap <Leader>sp <Plug>CtrlSFVwordPath #
选中搜索 – 结果列表 vmap <Leader>sl
<Plug>CtrlSFQuickfixVwordPath

1
2
3
4
5
6
7
8
9
10
11
brew install ripgrep
 
# 上面安装好了之后,在.vimrc中配置下面内容
# 快捷键速记法:search in project
let g:ctrlsf_ackprg = ‘rg’
# 设置快捷键
nnoremap <Leader>sp :CtrlSF<CR>
# 选中搜索 – 文本中选中关键字
vmap     <Leader>sp <Plug>CtrlSFVwordPath
# 选中搜索 – 结果列表
vmap     <Leader>sl <Plug>CtrlSFQuickfixVwordPath

骨干使用格局

Vim

:CtrlSF pattern dir # 如若前边不带 dir 则暗许是 . 当前目录搜索 # 使用
j k h l 浏览CtrlSP窗口 使用 Ctrl + j/k 在协作项中跳转。 # 使用 q 则退出
CtrlSP窗口 # 使用 p

1
2
3
4
:CtrlSF pattern dir  # 如果后面不带 dir 则默认是 . 当前目录搜索
# 使用 j k h l 浏览CtrlSP窗口  使用 Ctrl + j/k 在匹配项中跳转。
# 使用 q 则退出 CtrlSP窗口
# 使用 p

安装:

图片 13

安装:

神速移动

Lokaltog/vim-easymotion
把知足条件的职位用 [;A~Za~z]
间的标具名符标出来,找到您想去的职分再键入对应标签字符就能够迅速达到。

Shell

;;b # 光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位
<寻找自负> 出现一定音讯 ;;F # 光标前代码定位 <寻觅自负>
出现一定消息

1
2
3
4
;;b # 光标前代码定位
;;e # 光标后代码定位
;;f # 光标后代码定位 <搜索自负> 出现定位信息
;;F # 光标前代码定位 <搜索自负> 出现定位信息

  在.vimrc中,写入必要设置的插件

开辟四个vim, 运维:BundleInstall

  在.vimrc中,写入必要安装的插件

插件表达

这里面全数的插件,并不是都放到了自己的 .vimrc 文件中 .vimrc
配置文件中,是自己个人爱好并且习于旧贯的布署。

图片 14

 

图片 14

插件管理工科具

  • junegunn/vim-plug
  • VundleVim/Vundle.vim

开荒二个vim, 运维:BundleInstall

使用

开采四个vim, 运行:BundleInstall

主旨风格

  • vim-colors-solarized
    主旨风格素雅 solarized
  • molokai 主旨风格多彩 molokai
  • phd 大旨风格复古 phd

 补充2个小技能:

  1、在linux命令行分界面,用vim展开七个文件。

 补充2个小技能:

运用分界面

  • Mango A nice color
    scheme
  • VimAirline
    美化状态栏偏爱设置
  • vim-powerline
    美化状态栏
  • vim-airline
    美化状态栏和配置
  • vim-airline-themes
    airline主题

1,shift + 昂科雷能够自行刷新文件列表

  2、输入  :NERDTree ,回车

1,shift + Enclave能够活动刷新文件列表

治本项目

  • NERDTree Manage your
    project files
  • VimFugitive Git 集成
  • VimGitGutter Git
    集成,刚强推荐!
  • EditorconfigVim
    Shared coding conventions
  • command-t 文件寻觅
  • vim-signature
    书签可视化的插件
  • BOOKMARKS–Mark-and-Highlight-Full-Lines
    它能够让书签行高亮
  • tagbar 方法地图导航
  • indexer.tar.gz
    自动生成标签并引进

    • DfrankUtil
      上面插件,信赖那一个插件
    • vimprj
      上面插件,注重那么些插件
  • ctrlsf.vim
    上下文插件,比方搜素到根本字,中间缩略,体现一段上下文
  • vim-multiple-cursors
    多光标编辑功效

2,在NE奥迪Q5DTree树形管理文件中,按ma能够创立文件可能目录

  3、步向当前目录的树形分界面,通过小键盘上下键,能活动选中的目录或文件

2,在NEKugaDTree树形管理文件中,按ma能够成立文件大概目录

代码书写

  • NERDCommenter
    注释更易于
  • DrawIt ASCII art 风格的注释
  • VimTrailingWhitespace
    出色尾随空格
  • Syntastic 语法反省
  • VimEasyAlign
    调治部分代码
  • VimMultipleCursors
    Write on multiple lines easily
  • VimJsBeautify Reformat
    JavaScript, HTML and JSON files
  • VimYankStack
    Iterate over yanked stack on paste
  • VimSurround Quoting and
    parenthesizing
  • YouCompleteMe
    键而全的、扶助模糊找寻的、高速补全的插件
  • VimForTern Smart
    JavaScript autocompletion
  • VimNode Navigate through node.js
    code/modules
  • VimLint Linter used by
    syntastic for VimL
  • VimLParser VimL parser
    (required by VimLint)
  • emmet-vim
    提升HTML和CSS的专门的学业流
  • vim-cpp-enhanced-highlight
    C++ 语法高亮扶助
  • vim-indent-guides
    同样缩进的代码关联起来
  • vim-fswitch
    接口文件(MyClass.h)与落到实处文件(MyClass.cpp)神速切换的插件
  • MiniBufExplorer
    显示四个 buffer 对应的 window
  • wildfire.vim 快捷键选中
    <>[]{} 中间的从头到尾的经过
  • gundo.vim
    让你有机遇打消前段时间一步或多步操作
  • vim-easymotion
    快捷移动,四遍 <leader> 作为前缀键
  • Shougo/neocomplete.vim
    庞大的机关补全插件
  • vim-instant-markdown
    编辑 markdown 文书档案,自动开启 firefox 为你浮现 markdown 最后效果
  • fcitx.vim 中/英输入平滑切换
  • othree/xml.vim
    中/提供高效编写xml/html的力量,如竹签自动关闭等
  • pangloss/vim-javascript
    提供js代码的智能缩进,仅使用了他的indent功用

使用

  4、ctr+w+h  光标focus右侧树形目录,ctrl+w+l
光标focus左侧文件展现窗口。数次摁 ctrl+w,光标自动在左侧边窗口切换

使用

代码阅读

  • 语法高亮
    • vim-polyglot
      协理附近的语法高亮
    • VimJson JSON 高亮和隐形引号
    • YaJS JavaScript 语法 (ES5
      and ES6)
    • vim-css3-syntax
      CSS3 高亮,包括stylus,Less,Sass
    • vim-css-color
      css高亮颜色
    • gko/vim-coloresque
      css高亮颜色
    • ScssSyntax SCSS
      syntax
    • HTML5 HTML5 syntax
    • Stylus Stylus 代码高亮
  • JavaScriptLibrariesSyntax
    语法高亮的名牌的JS库
  • ultisnips 模板补全插件
  • vim-protodef
    依照类注明自动生成类实现的代码框架

  1、在linux命令行分界面,用vim张开二个文件。

  5、输入:q回车,关闭光标所在窗口

  1、在linux命令行分界面,用vim展开三个文件。

仿效资料

  • vim 大冒险:在娱乐中读书 vim
  • VimScript学会怎么自定义Vim编辑器
  • css-color stopped working after updating Vim to
    7.4

  2、输入  :NERDTree ,回车

 图片 16

  2、输入  :NERDTree ,回车

其余人的vimrc配置

  • luofei614/vim-plug
  • yangyangwithgnu/use_vim_as_ide

    2 赞 3 收藏
    评论

图片 17

  3、步入当前目录的树形分界面,通过小键盘上下键,能移动选中的目录或文件

Vim入门基础知识集锦 
http://www.linuxidc.com/Linux/2017-02/140903.htm

  3、步入当前目录的树形分界面,通过小键盘上下键,能移动选中的目录或文件

  4、ctr+w+h  光标focus左侧树形目录,ctrl+w+l
光标focus左侧文件突显窗口。多次摁 ctrl+w,光标自动在左侧面窗口切换

Vim入门基础教程
http://www.linuxidc.com/Linux/2017-02/140279.htm

  4、ctr+w+h  光标focus侧面树形目录,ctrl+w+l
光标focus侧面文件彰显窗口。多次摁 ctrl+w,光标自动在左左侧窗口切换

  5、输入:q回车,关闭光标所在窗口

把Vim创设成优质的C++ IDE 
http://www.linuxidc.com/Linux/2016-06/132262.htm

  5、输入:q回车,关闭光标所在窗口

 图片 18

Ubuntu 14.04升级Vim7.4到8.0 
http://www.linuxidc.com/Linux/2016-11/136816.htm

 图片 18

 

Vim安装youcompleteme自动补全插件 
http://www.linuxidc.com/Linux/2016-11/137665.htm

 

设置Vim 插件——UltiSnips 配置代码片段( Bundle方式 )

Linux Vim编辑器使用简便讲解 
http://www.linuxidc.com/Linux/2016-12/138930.htm

安装Vim 插件——UltiSnips 配置代码片段( Bundle格局 )

1.安装,在~/.vimrc中添加UltiSnips plugin.

Vim文本编辑器 
http://www.linuxidc.com/Linux/2017-03/142275.htm

1.安装,在~/.vimrc中添加UltiSnips plugin.

Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'

Vim安装与布局进级版
http://www.linuxidc.com/Linux/2017-03/141724.htm

Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'

2,然后在VIM的末行形式,键入命令 实行插件的安装

Vim编辑器使用教程 
http://www.linuxidc.com/Linux/2017-07/145885.htm

2,然后在VIM的末行形式,键入命令 实行插件的设置

:PluginInstall

Ubuntu 16.04 Vim YouCompleteMe自动补全的设置配置与应用 
http://www.linuxidc.com/Linux/2017-02/141088.htm

:PluginInstall

3.布置的参谋代码在 ~/.vim/bundle/vim-snippets 

Linux文本编辑器Vim基础教程 
http://www.linuxidc.com/Linux/2017-09/146930.htm

3.配置的参阅代码在 ~/.vim/bundle/vim-snippets 

cp ~/.vim/bundle/vim-snippets/UltiSnips/c.snippets  ~/.vim/UltiSnips/

正文长久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149878.htm

cp ~/.vim/bundle/vim-snippets/UltiSnips/c.snippets  ~/.vim/UltiSnips/

 

图片 20

 

YCM和Ultisnips按钮争论应用方案(只行使TAB键 )

1,增加职能函数到.vimrc 

图片 21图片 22

 1 function! g:UltiSnips_Complete()
 2   call UltiSnips#ExpandSnippet()
 3   if g:ulti_expand_res == 0
 4     if pumvisible()
 5       return "\<C-n>"
 6     else
 7       call UltiSnips#JumpForwards()
 8       if g:ulti_jump_forwards_res == 0
 9         return "\<TAB>"
10       endif
11     endif
12   endif
13   return ""
14 endfunction
15 
16 function! g:UltiSnips_Reverse()
17   call UltiSnips#JumpBackwards()
18   if g:ulti_jump_backwards_res == 0
19     return "\<C-P>"
20   endif
21 
22   return ""
23 endfunction
24 
25 
26 if !exists("g:UltiSnipsJumpForwardTrigger")
27   let g:UltiSnipsJumpForwardTrigger = "<tab>"
28 endif
29 if !exists("g:UltiSnipsJumpBackwardTrigger")
30   let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
31 endif

View Code

2,为地点的函数创设壹个机动BufEnter

图片 23图片 24

1 au InsertEnter * exec "inoremap <silent> " . g:UltiSnipsExpandTrigger     . " <C-R>=g:UltiSnips_Complete()<cr>"
2 au InsertEnter * exec "inoremap <silent> " .     g:UltiSnipsJumpBackwardTrigger . " <C-R>=g:UltiSnips_Reverse()<cr>"

View Code

 

YCM和Ultisnips开关争论技术方案(只使用TAB键 )

1,增加职能函数到.vimrc 

图片 25图片 26

 1 function! g:UltiSnips_Complete()
 2   call UltiSnips#ExpandSnippet()
 3   if g:ulti_expand_res == 0
 4     if pumvisible()
 5       return "\<C-n>"
 6     else
 7       call UltiSnips#JumpForwards()
 8       if g:ulti_jump_forwards_res == 0
 9         return "\<TAB>"
10       endif
11     endif
12   endif
13   return ""
14 endfunction
15 
16 function! g:UltiSnips_Reverse()
17   call UltiSnips#JumpBackwards()
18   if g:ulti_jump_backwards_res == 0
19     return "\<C-P>"
20   endif
21 
22   return ""
23 endfunction
24 
25 
26 if !exists("g:UltiSnipsJumpForwardTrigger")
27   let g:UltiSnipsJumpForwardTrigger = "<tab>"
28 endif
29 if !exists("g:UltiSnipsJumpBackwardTrigger")
30   let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
31 endif

View Code

2,为地点的函数创制八个电动BufEnter

图片 27图片 28

1 au InsertEnter * exec "inoremap <silent> " . g:UltiSnipsExpandTrigger     . " <C-R>=g:UltiSnips_Complete()<cr>"
2 au InsertEnter * exec "inoremap <silent> " .     g:UltiSnipsJumpBackwardTrigger . " <C-R>=g:UltiSnips_Reverse()<cr>"

View Code

 

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图