~/.vimrc

零、批量注释与反注释

  • :sp / :vsp       横向 / 纵向拆分窗口
  • :e            打开新文件
  • zc:拆叠代码 / zo:展开代码
    • set foldmethod=marker "代码拆叠模式:zf10G(从当前行拆叠到第10行)、10zf+(从当前行位置向下拆叠10行)、10zf-(从当前行向上拆叠10行)、zf%(折叠到对应的配对括号处,大括号、中括号、小括号等)、zd(删除拆叠)

注释:

  1. ctrl + v 进入中视化模式,选中要注释的行
  2. shift + i 进入 insert 模式,输入注释标识符,如 "//"
  3. 按 ESC

反注释:

  1. ctrl + v 进入中视化模式,选中要反注释的行
  2. shift + i 进入 insert 模式,删除注释标识符
  3. 按 ESC

一、vim 系统快捷键

  • <C-O>  跳回上一个位置
  • <C-I>  跳到下一个位置

二、vim 自定义快捷键

map 类别:

  • 用于普通模式: 输入命令时。
  • 用于可视模式: 可视区域高亮并输入命令时。
  • 用于操作符等待模式: 操作符等待中 ("d","y","c" 等等之后)。
  • 用于插入模式: 也用于替换模式。
  • 用于命令行模式: 输入 ":" 或 "/" 命令时。

  • Normal Mode  也就是最一般的普通模式,默认进入vim之后,处于这种模式。
  • Visual Mode  一般译作可视模式,在这种模式下选定一些字符、行、多列;在普通模式下,可以按v进入。
  • Insert Mode  插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。
  • Select Mode  选择模式。用鼠标拖选区域的时候,就进入了选择模式。和可视模式不同的是,在这个模式下,选择完了高亮区域后,敲任何按键就直接输入并替换选择的文本了。和windows下的编辑器选定编辑的效果一致。普通模式下,可以按gh进入。
  • Command-Line  命令行模式,普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令。

Map 前缀:

  • nore  表示非递归。递归的映射:如果键a被映射成了b,c又被映射成了a,如果映射是递归的,那么c就被映射成了b。
  • n  表示在普通模式下生效
  • v  表示在可视模式下生效
  • i  表示在插入模式下生效
  • c  表示在命令行模式下生效

普通模式映射:

  • map  命令格式::map {lhs} {rhs}  其含义是,在:map作用的模式中把键系列 {lhs} 映射为 {rhs},{rhs}可进行映射扫描,也就是可递归映射。
  • noremap  :noremap和:map命令相对,作用模式和命令格式都相同,只不过不允许再对{rhs}进行映射扫描,也就是{lhs}定义后的映射就是{rhs}的键序列,不会再对{rhs}键序列重新解释扫描。
  • unmap  :unmap是对应取消:map绑定的{lhs},作用模式相同,命令格式 :unmap {lhs}。
  • mapclear  :mapclear时对应取消所有:map绑定的。

仅用于普通模式:

  • :nmap是:map的普通模式板,也就是说其绑定的键只作用于普通模式。
  • :nnorempa和:nmap的关系和:noremap和:map的关系一样,只是:nmap的非递归版
  • :nunmap和:nmap的关系和:unmap和:map的关系一样,取消:nmap的绑定。
  • :nmapclear是对应取消所有:map绑定。

键表:

  • <k0> - <k9> 小键盘 0 到 9
  • <S-...> Shift+键
  • <C-...> Control+键
  • <M-...> Alt+键 或 meta+键
  • <A-...> 同 <M-...>
  • <Esc> Escape 键
  • <Up> 光标上移键
  • <Space> 插入空格
  • <Tab> 插入Tab
  • <CR> 等于<Enter>

<Leader>和mapleader变量:

mapleader变量对所有map映射命令起效,它的作用是将参数<leader>替换成mapleader变量的值,比如:
  :map <Leader>A oanother line<Esc>
如果mapleader变量没有设置,则用默认的反斜杠代替,因此这个映射等效于:
  :map \A oanother line<Esc>
意思时输入\A键时,在下一行输入another line并返回到普通模式。
如果设置了mapleader变量,比如:
  let mapleader = ","
那么就等效于:
  :map ,A oanother line<Esc>

拾遗:vim 快捷键设置的更多相关文章

  1. <顶>vim快捷键映射Map使用

    问题描述: 使用vim中的快捷键映射map,可以自定义快捷键 问题解决: (1)vim模式 (2)map前缀 (3)删除映射Map (4)使用示例 (5)查看快捷键映射 命令行---:verbose ...

  2. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍:插入模式 和  命令模式 是vi的两个基本模式.——插入模式 ,是用 ...

  3. Linux Ubuntu从零开始部署web环境及项目 -----快捷键设置(四)

    上篇将了如何在linux部署web项目,这篇介绍如何设置常用快捷键 一.路径快捷键设置 临时快捷键设置:  执行XShel,输入: alias 'aa=cd /etc/sysconfig'       ...

  4. [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结

    在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...

  5. vim快捷键收藏版

    总述 附加一篇介绍文哈,关于vim快捷键的介绍.vim和vscode 到底谁更好用,大家争得不可开交,然后我就在vscode里面装了一个vim插件,完美得解决了这个问题,用完之后觉得真香,所以我就整理 ...

  6. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  7. PhpStorm 8.x/9.x 快捷键设置/个性化设置,如何多项目共存?如何更换主题?

    1."自定义"常用快捷键(设置成跟Eclipse差不多) 按照路径:File -> Settings -> Appearance & Behavior -> ...

  8. Allegro 快捷键设置

    一.快捷键设置 Allegro可以通过修改env文件来设置快捷键,这对从其它软件如AD或PADS迁移过来的用户来说,可以沿用以前的操作习惯,还是很有意义的. Allegro的变量文件一共有2个:一个是 ...

  9. [No00004F]史上最全Vim快捷键键位图(入门到进阶)

    史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版        下 ...

随机推荐

  1. Idea JAVA項目的导入JAR包和导出jar包

    一.IDea项目中导入jar包 打开菜单project structure,然后选择modules/dependencies下选择右侧的+,选择jar包目录中的jar文件,导入 二.导出jar包 菜单 ...

  2. 深入解读 Redis 的持久化

    Redis持久化 Java大猿帅成长手册,GitHub JavaEgg ,N线互联网开发必备技能兵器谱 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Red ...

  3. Struts1.3——登录案例的改进

    在上篇写的用户登录验证案例的基础上进一步改进. 1.在登录成功后的welcome.jsp页面显示登录成功的用户名 思路1:在LoginAction中,将username放入request的域对象中 因 ...

  4. HDU1251-统计难题-map+输入

    Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分 ...

  5. javascript常用经典算法实例详解

    javascript常用经典算法实例详解 这篇文章主要介绍了javascript常用算法,结合实例形式较为详细的分析总结了JavaScript中常见的各种排序算法以及堆.栈.链表等数据结构的相关实现与 ...

  6. 开发效率优化之自动化构建系统Gradle(二)下篇

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从自定义 Gradle 插件开发来介绍自动化构建系统 ...

  7. el-form-item内容过多,及弹窗框宽度属性show-overflow-tooltip设置

    内容过多: :show-overflow-tooltip=true 宽度属性设置: .el-tooltip__popper{ max-width:30% }

  8. OI中的快速傅里叶变换(FFT)

    快速傅里叶变换(FFT)                                                                               ---- LLpp ...

  9. html iframe js frame

    <iframe> 语法<iframe id="productList" src=""../common/emxTable.jsp?table= ...

  10. windows系统exe文件图标变成了白色无图标

    转载:https://blog.csdn.net/whatday/article/details/52658412   在命令提示符下输入下列命令即可恢复.   按键 “WIN+R” 输入即可cmd ...