# → 复制当前行

nyy # → 复制当前行以下n行

dd # → 剪切当前行

ndd # → 剪切当前行以下n 行

p、P # → 粘贴在当前光标所在行或行上

2dd # → 删除2行

3p # → 粘贴文本3次简单排版 :ce(nter) # 居中显示光标所在行

:ri(ght) # 靠右显示光标所在行

:le(ft) # 靠左显示光标所在行

J # 将光标所在下一行合并到光标所在行

>> # 光标所在行增加缩进(一个tab)

<< # 光标所在行减少缩进(一个tab)

n>> # 光标所在行开始的n行增加缩进

n<< # 光标所在行开始的n行减少缩进保存退出 :w new_filename # → 保存为指定文件

:w # → 保存修改

:wq # → 保存修改并推出

ZZ # → 快捷键,保存修改并推出

:q! # → 不保存修改推出

:wq! # → 保存修改并推出(文件所有者,root权限的用户)整页翻页 ctrl -f# 下一页 f 就是`forword`

ctrl-b # 上一页 b 就是`backward`替换 替换取消 r # → 取代关闭所在处字符

R # → 从光标所在处开始替换字符,摁ESC结束

u # → 取消上一步操作

ctrl + r # → 返回上一步快捷替换

可视化模式下选中其中一个,接着键入 ctrl-n,你会发现第二个该字符串也被选中了,持续键入 ctrl-n,你可以选中所有相同的字符串,把这个功能与 ctrlsf 结合

精确替换

vim 有强大的内容替换命令,进行内容替换操作时,注意:如何指定替换文件范围、是否整词匹配、是否逐一确认后再替换。

:[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

开关注释

;cc,注释当前选中文本,如果选中的是整行则在每行首添加 //,如果选中一行的部分内容则在选中部分前后添加分别 /**/;

;cu,取消选中文本块的注释。工程文件菜单

自定义快捷键

;fl # 显示文件菜单 file list

自带快捷键

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切割窗口 :new # 水平切割窗口

:split # 水平切割窗口(或者直接输入 :sp 也可以)

:vsplit # 垂直切割( 也可以 :vs )Tab操作 多tab窗口拆分 :tabnew [++opt选项] [+cmd] 文件 #建立对指定文件新的tab

:tabc #关闭当前的tab:tabo #关闭所有其他的tab

:tabs #查看所有打开的tab

:tabp #前一个

:tabn #后一个tab切换 # 下面为自定义快捷键

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 然后按快捷键 , – 表示 后再按逗号【Ctrly,】。

按大写的 V 进入 Vim 可视模式,行选取上面三行内容,然后按键 ,,这时 Vim 的命令行会提示 Tags:,键入ul>li*,然后按 Enter。

d 根据光标位置选中整个标签

D 根据光标位置选中整个标签内容

n 跳转到下一个编辑点

N 跳转到上一个编辑点

i 更新图片大小

m 合并成一行

k 移除标签对

j 分割/合并标签

/ 切换注释

a 从 URL 地址生成锚

A 从 URL 地址生成引用文本

搜索查找 文件搜索

搜索有两个插件可以使用 wincent/command-t 和 junegunn/fzf,fzf没有下载下来,这里在使用 command-t ,使用的时候记得,进入目录 cd ~/.vim/plugged/command-t 运行 rake make。

;t # 启动搜索文件搜索文本内容

dyng/ctrlsf.vim,在插件完成安装之后,需要安装另外的工具,才能运行

brew install ripgrep

# 上面安装好了之后,在.vimrc中配置下面内容

# 快捷键速记法:search in project

letg:ctrlsf_ackprg = 'rg'

# 设置快捷键

nnoremap sp :CtrlSF

# 选中搜索 - 文本中选中关键字

vmap sp CtrlSFVwordPath

# 选中搜索 - 结果列表

vmap sl CtrlSFQuickfixVwordPath

基本使用方法

:CtrlSF pattern dir # 如果后面不带 dir 则默认是 . 当前目录搜索

# 使用 j k h l 浏览CtrlSP窗口 使用 Ctrl + j/k 在匹配项中跳转。

# 使用 q 则退出 CtrlSP窗口

# 使用 p快速移动

Lokaltog/vim-easymotion

;;b # 光标前代码定位

;;e # 光标后代码定位

;;f # 光标后代码定位 出现定位信息

;;F # 光标前代码定位 出现定位信息插件说明

这里面所有的插件,并不是都放到了我的 .vimrc 文件中 .vimrc 配置文件中,是我个人喜欢并且习惯的配置。

插件管理工具

junegunn/vim-plug

VundleVim/Vundle.vim主题风格

vim-colors-solarized 主题风格素雅 solarized

molokai 主题风格多彩 molokai

phd 主题风格复古 phd使用界面

Mango A nice color scheme

VimAirline 美化状态栏偏好设置

vim-powerline 美化状态栏

vim-airline 美化状态栏和配置

vim-airline-themes airline主题管理项目

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 多光标编辑功能代码书写

NERDCommenter 注释更容易

DrawIt ASCII art 风格的注释

VimTrailingWhitespace 突出尾随空格

Syntastic 语法检查

VimEasyAlign 调整部分代码

VimMultipleCursors Write on multiple lines easily

VimJsBeautify Reformat Java, HTML and JSON files

VimYankStack Iterate over yanked stack on paste

VimSurround Quoting and parenthesizing

YouCompleteMe 键而全的、支持模糊搜索的、高速补全的插件

VimForTern Smart Java 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 快速移动,两次 作为前缀键

Shougo/neocomplete.vim 强大的自动补全插件

vim-instant-markdown 编辑 markdown 文档,自动开启 firefox 为你显示 markdown 最终效果

fcitx.vim 中/英输入平滑切换

othree/xml.vim 中/提供快速编写xml/html的能力,如标签自动闭合等

pangloss/vim-java 提供js代码的智能缩进,仅使用了他的indent功能代码阅读

语法高亮

vim-polyglot 支持常见的语法高亮

VimJson JSON 高亮和隐藏引号

YaJS Java 语法 (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 代码高亮

JavaLibrariesSyntax 语法高亮的知名的JS库

ultisnips 模板补全插件

vim-protodef 根据类声明自动生成类实现的代码框架参考资料

vim 大冒险:在游戏中学习 vim

Vim学会如何自定义Vim编辑器

css-color stopped working after updating Vim to 7.4其它人的 vimrc 配置

luofei614/vim-plug

【推荐阅读】

SegmentFault -

扶桑木下-

吴彦欣 -

tomcat的猫-

weichuyang -

linux vim 前端开发,一个前端开发工程师的 Vim 跟 IDE 一样相关推荐

  1. 开发一个系统软件开发大概需要多少资金钱呢

    开发一个系统软件开发大概需要多少资金钱呢 随着互联网+.物联网.人工智能和大数据的使用普及,承载的APP和小顺序给互联网公司带来了宏大的财富,但是后期的软件开发本钱投入依旧是企业最关怀的成绩.虽然AP ...

  2. 用node-koa2-mysql-bootstrap搭建一个前端论坛

    前言 在学习了koa2和express并写了一些demo后,打算自己写一个项目练练手,由于是在校生,没什么好的项目做,即以开发一个前端论坛为目标,功能需求参照一下一些社区拟定,主要有: 登录注册 个人 ...

  3. node项目实战-用node-koa2-mysql-bootstrap搭建一个前端论坛

    前言 在学习了koa2和express并写了一些demo后,打算自己写一个项目练练手,由于是在校生,没什么好的项目做,即以开发一个前端论坛为目标,功能需求参照一下一些社区拟定,主要有: 登录注册 个人 ...

  4. 如何实现开发一个企业认证开发版微信服务号的详细步骤

    题目:企业如何实现开发一个企业开发版微信公众号的详细步骤?(以PHP为例进行开发) 先附上一张流程图: 一.首先在微信公众平台官网进行注册登录,打款认证,微信公众平台小程序注册与认证详细过程看链接: ...

  5. 如何用jxTMS开发一个功能(二)

    本文是讲解如何用jxTMS来开发jxTMS示例之故障排查的系列文章中的第二篇.整个系列的文章请查看:如何用jxTMS开发一个功能 维修工程师的现场操作 上文讲过,维修工程师在服务现场有三种操作: 如果 ...

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

    为什么80%的码农都做不了架构师?>>>    这里是我新配置出来的 jaywcjlove/vim-web 一直在打磨中,基本上可以用了.拿出来骗 star 先上图 安装 最新版本的 ...

  7. 有了 serverless,前端也可以快速开发一个 Puppeteer 网页截图服务

    更多云原生技术资讯可关注阿里巴巴云原生技术圈. Puppeteer 是什么? puppeteer 官网的介绍如下: Puppeteer is a Node library which provides ...

  8. Serverless 实战 —— 前端也可以快速开发一个 Puppeteer 网页截图服务

    Serverless 实战 -- 前端也可以快速开发一个 Puppeteer 网页截图服务 更多云原生技术资讯可关注阿里巴巴云原生技术圈. Puppeteer 是什么? puppeteer 官网的介绍 ...

  9. 码匠编程:零基础从前端入门到前端开发工程师路线

    一.前端学习路径规划 下面是一个学习线路图,其实还有很多的技术导图中没有涉及到,对于初学者来说,能够掌握上边的知识点已经很不错了. 零基础从前端入门到前端开发工程师路线 二.入坑前的三问 想要入前端的 ...

最新文章

  1. Splay ---- 2018牛客多校第三场 区间翻转搞区间位移 或者 rope可持久化块状链表
  2. 告诉你,Spring Boot 真是个牛逼货!
  3. android jar 包 意见反馈功能,android重点jar包详解.docx
  4. ios11修改微信步数_一个人有多孤独,看他的微信步数就知道了
  5. STC8K28步进电机ULC2003触发器
  6. 如何获取mongodb中的最后N条记录?
  7. 如何从需求文档中辨认客户(一)
  8. php 发送图片,利用PHP输入流发送图片
  9. lync显示无法找到服务器,Lync 2013 已知问题
  10. 体验Joomla2.5,从joomla1.5说起【转】
  11. 关联规则(Apriori、FP-grpwth)
  12. RFID课程设计之图书管理系统
  13. 计算机信息检索工作的原理,2021年湖北自考计算机信息检索课程考试大纲
  14. 设计模式---004策略模式---【巷子】
  15. K60的FTM的PWM、输入捕获、正交解码
  16. java证书验证失败_使用certbot证书验证失败
  17. J-Flash 读取Flash数据
  18. 金融计算机杂志排名,中国核心期刊排名_中国金融文化属于核心期刊吗_计算机八大核心期刊...
  19. 一个简单的电子邮箱验证
  20. Qt入门(九)——“头脑风暴”(在线答题_*重点项目*)

热门文章

  1. 呀,街舞原来是这样的?
  2. v-model.trim的作用
  3. cnzz 广告管家 代码下载 java,CNZZ“广告管家”让订单管理一气呵成
  4. 2009年考研数学一真题pdf ​​​
  5. 学生请假,班主任回复话术
  6. 统计自然语言学习笔记(Manning):第1章
  7. 三星、华为和柔宇在MWC展示折叠屏手机:可看不可摸
  8. 哈希注入工具wce 实战应用
  9. (一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
  10. 信息学竞赛 c语言 pascal,信息学竞赛的编程语言有哪些