当前位置: 首页 > article >正文

【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)

文章目录

  • S09L39 Vim Settings and the Vimrc File - Part 2
    • 1 Vim 的配色方案与 color 命令
    • 2 map 命令
    • 3 示例:用 map 命令快速生成 HTML 代码片段
    • 4 Vim 中的 Leader 键
    • 5 用 mkvimrc 命令自动生成配置文件

写在前面
本篇为 Vim 自定义配置的第二部分。当中的每个知识点几乎都属于二八定律中的那 80% 鲜有人熟练掌握的内容。但根据李笑来大佬的 “自学心法”,掌握一项技能时,如果不能拿下里面最复杂的部分,其实就几乎相当于没学过。计算机领域的知识几乎都是典型的前置引用型知识(forward reference),第一遍即便不会也要硬着头皮看一遍,最好记下来;然后多重复几次,后面自然就领悟其精髓了。


S09L39 Vim Settings and the Vimrc File - Part 2

(接上节)

1 Vim 的配色方案与 color 命令

查看可用的配色方案::color + Space + CtrlD

图 39-1:查看当前可用的配色方案(Windows 版 v9.1)

【图 39-1:查看当前可用的配色方案(Windows 版 v9.1)】

查看当前使用的配色方案::colorscheme + Enter

vimrc 文件中指定配色方案(如 slate):color slate

从网上下载的第三方配色方案,需放到当前用户主目录对应的 colors 文件夹下:

  • Linux/home/{USER_NAME}/.vim/colors
  • Mac/Users/{USER_NAME}/.vim/colors

2 map 命令

Vim 中的 map 命令可将一组 Vim 命令映射为一个单独的按键,例如将某个功能键定义为一组特定操作(默认情况下功能键未设置任何命令)。

map 命令在 vimrc 文件中的写法:map KEY KEY_STROKES(按 KEY 执行 KEY_STROKES 中的操作)

例如:

map <F2> iJohn Smith<CR>123 Main Street<CR>Anytown, NY<CR><ESC>

保存后重启 Vim,重新打开 vimrc 文件,并在末尾行键入 F2,将得到如下结果:

图 39-2:利用 map 命令实现指定内容与 F2 键绑定的实操截图

【图 39-2:利用 map 命令实现指定内容与 F2 键绑定的实操截图】

map 命令中常见按键的写法:

写法按键写法按键
<BS>Backspace<Insert>Insert
<CR>Enter<Del>Delete
<Enter>Enter<Home>Home
<Return>Enter<End>End
<Esc>Escape<PageUp>Page-Up
<Space>Space<PageDown>Page-Down
<Up><Tab>Tab
<Down><bar>|
<Left><C-X>Ctrl + X
<Right><F1> - <F12>功能键 F1F12

3 示例:用 map 命令快速生成 HTML 代码片段

利用 map 命令还可以将输入某 HTML 代码片段的操作映射到某个功能键(例如 F3)。具体写法如下:

map <F3> i<ul><CR><Space><Space><li></li><CR><Esc>0i</ul><Esc>kcit

保存配置并重启 Vim,并在末尾行键入 F3,将得到如下结果:

图 39-3:利用 F3 键快速生成 HTML 模板并进入插入模式实测截图

【图 39-3:利用 F3 键快速生成 HTML 模板并进入插入模式实测截图】

此时如果再定义一组按键操作(假设绑定到 F4),实现在下一行快速插入 <li></li>,并将光标定位到标签内部,则可以写作:

map <F4> <Esc><li></li><Esc>cit

这样就可以组合 F3F4 快速完成 HTML 代码段的编辑和插入,如图 39-4 所示:

图 39-4:利用 F3 和 F4 键快速实现 HTML 代码段的编辑和插入操作

【图 39-4:利用 F3 和 F4 键快速实现 HTML 代码段的编辑和插入操作】

4 Vim 中的 Leader 键

Vim 中的 Leader 键用于创建自定义快捷键,其默认值为反斜杠符 \,也可以用 let mapleader="," 改为其它字符(这里改为 ,)。

正常模式下要让 \w 实现强制实时保存的功能(即 :w! + Enter),可以在 vimrc 中做如下定义:

map <leader>w :w!<CR>

配置生效后,按 \W 键就能实现强制保存当前文件。

如果不用反斜杠,也可以写为:

let mapleader=","
map <leader>w :w!<CR>

这样,按 ,W 即可保存。

查看当前 map 的设置情况,输入命令 :map + Enter 即可:

图 39-5:查看当前定义的 map 命令配置情况

【图 39-5:查看当前定义的 map 命令配置情况】

更多 map 命令的用法,详见 Vim 帮助文档(运行命令 :h mapping + Enter)。

5 用 mkvimrc 命令自动生成配置文件

除了手动创建并修改 vimrc 文件,还可以使用命令 :mkvimrc 来创建 vimrc 文件。如果文件已存在,则要么用 :mkvimrc testvimrc 指定一个新文件名(如这里的 testvimrc),要么用 :mkvimrc! 覆盖已存在的文件。

使用这种方式创建的 vimrc 文件与手动创建的略有不同,其中既有来自系统层的设置,也有来自 mkvimrc 命令本身的内容,例如:

图 39-6:通过 mkvimrc 命令生成的 vimrc 文件内容(节选)

【图 39-6:通过 mkvimrc 命令生成的 vimrc 文件内容(节选)】

其中 ——

  • vmap 表示仅在可视化模式、选择模式下生效
  • xmap 表示仅在可视化模式下生效
  • nmap 表示仅在正常模式下生效
  • omap 表示仅在操作模式下生效
  • vnoremap:仅在可视化模式下禁止递归生效快捷键设置
  • nnoremap:仅在正常模式下禁止递归生效快捷键设置
  • " vim: set ft=vim ::位于该文件最后一行(如图 39-7 所示),也叫 modeline,它用于指示 Vim 在处理该文件时要遵循的特定设置。set ft=vim 用于指定文件类型(ftfiletype,表示文件类型)为 vim。这样 Vim 就会启用适合 Vim 脚本的语法高亮和功能来显示该文件。末尾的冒号为固定写法,表示命令的结束。更多用法参考帮助文档::h modeline + Enter

图 39-7:利用 mkvimrc 命令生成的 vimrc 文件的末尾部分截图

【图 39-7:利用 mkvimrc 命令生成的 vimrc 文件的末尾部分截图】

值得注意的是,vimrc 大可不必如此复杂,只要满足自身需求,简单实用即可。例如讲师 Jason 的极简配置:

set bg=dark
color slate
set wildmenu
set ruler

http://www.kler.cn/a/511008.html

相关文章:

  • 内网渗透测试工具及渗透测试安全审计方法总结
  • 【汇编器和编译器的区别】
  • Android设备:Linux远程gdb调试
  • 港湾周评|万科的多重压力
  • 基于Python+Gurobi的库存分配问题建模求解
  • FPGA车牌识别
  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构解析
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • 从C到C++:嵌入式开发中两者的差异与过渡技巧
  • C# 声明废弃特性
  • 使用 Go 语言生成样式美观的 PDF 文件
  • LeetCode - #187 Swift 实现重复的DNA序列
  • 事务处理系统 (Transaction Processing System, TPS)
  • TCP报文格式与核心机制
  • Pycharm报错:libpng warning: iCCP: known incorrect sRGB profile
  • [手机Linux] 七,NextCloud优化设置
  • 生成模型:生成对抗网络-GAN
  • 数据库高可用方案-07-一致性校验
  • Linux-day06
  • Django SimpleUI 运维系统与云管理平台的常用图标指南
  • git操作(Windows中GitHub)
  • Linux 操作二:文件映射与文件状态
  • 基于Springboot实现旅游网站系统开发
  • CSS笔记01
  • AI 时代的 Prompt 工程入门
  • Redis的安装和配置、基本命令