Vim 实用技巧必知必会
吴咏炜
前 Intel 资深软件架构师
21753 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 25 讲
Vim 实用技巧必知必会
15
15
1.0x
00:00/00:00
登录|注册

拓展1|纯文本编辑:使用 Vim 书写中英文文档

课后练习
要点总结
Vim 对中文文本的处理
中文文本处理方式
拼写完成
拼写检查
格式化选项
行宽设置
Markdown 的流行
Markdown 的特点
适合手写的格式
字处理器的劣势
内容小结
中文文本编辑
英文文本编辑
Markdown 简介
为什么不使用字处理器?
纯文本编辑:使用 Vim 书写中英文文档

该思维导图由 AI 生成,仅供参考

你好,我是吴咏炜。
今天是拓展篇的第 1 讲,我想带你对 Vim 的纯文本编辑技巧做一个专项突破。由于 Vim 是在欧美世界诞生的工具,贡献者中也是说英语的人居多,因而它对英文的支持要远远超出其他语言。所以今天,我们就深入讨论一下,如何使用 Vim 来进行纯文本编辑,特别是英文的文本编辑。
熟练掌握这一讲的内容,可以让你使用 Vim 书写中英文文档时都感到游刃有余。如果你有这个需求,一定要亲自动手尝试我提到的这些功能,加深自己的记忆。如果你觉得还需要多花一点时间,消化吸收前几讲的基础知识,也可以先阅读全文,把握要点,之后再回过头来深入学习。

为什么不使用字处理器?

你可能已经开始怀疑了,我为什么要使用 Vim 来进行文字编辑?用 Word 不香么?如果嫌 Word 贵,还有免费的 WPS 啊……
嗯,首先,Word 和 WPS 这些字处理器不是用来生成纯文本文件的。在处理纯文本文件上,它们反而会有诸多劣势,如:
只能本地使用,既不能在远程 Linux 服务器上运行,也不能用 SSH/SCP 的方式打开远程的文件(除非在服务器上启用 Samba 服务,但体验真的不好)
分段和分行一般没有很好的区分
如果存成纯文本的话,格式会全部丢失
最后一句话似乎是废话?还真不是,纯文本文件里面是可以存储格式的,但 Word 和其他字处理软件对于文本类型一般只能支持纯文本或富文本(Rich Text),而富文本虽然包含了格式信息,但却对直接阅读不友好。我想,没有人会去手写富文本文件吧。仍有一些带格式的文本文件比较适合手写,下面这些是其中较为流行的格式:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了使用Vim进行纯文本编辑,特别是英文文本编辑。作者首先指出了Word等字处理器在处理纯文本文件上的劣势,并介绍了几种适合手写的带格式的文本文件类型。重点介绍了Markdown的简介和优势,并讨论了在Vim中编辑Markdown文件的展示效果和行宽设置的重要性。文章还提到了英文文本编辑的习惯和推荐的文本宽度设置,以及相关的历史和排版原则。此外,还介绍了格式化选项、段中不换行的文本、模式行和拼写检查等内容。总的来说,本文通过介绍Vim在纯文本编辑中的应用,以及Markdown的优势,为读者提供了一些关于纯文本编辑的技巧和知识。文章还讨论了中文文本编辑的特点,包括段中有断行和段中无断行两种方式的处理习惯,以及Vim在处理中日韩文字时的特殊设置。此外,还提到了一些课后练习,帮助读者巩固所学知识。文章内容丰富,涵盖了Vim编辑纯文本文件的各种技巧和注意事项,对于需要编辑纯文本文件的读者来说,是一篇非常有价值的技术文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Vim 实用技巧必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • helloworld
    拼写检查这个,老师是开启的吗,开启后,代码中很多原生关键字都会显式下划线提示错误,造成干扰,这个问题是怎么解决的呢,因为这个原因所以一直没开启这个。

    作者回复: 不会啊,新点的 Vim 版本只对注释和字符串字面量中的拼写错误进行加亮的。语法加亮文件中为此特别标注哪些部分需要拼写检查(用“@Spell”)。 另外,我是映射了快捷键来打开和关闭拼写检查的,类似于: nmap <silent> <F7> :setlocal spell!<CR> imap <silent> <F7> <C-O>:setlocal spell!<CR>

    2021-07-05
    2
  • chris
    请问老师, 插入模式下输中文, 退出后又要切回因为模式, 很麻烦, 有什么自动且输入法的标准方法吗?

    作者回复: 如果终端里,好像没什么好办法的。图形界面的Vim经常带输入法支持,在一定程度上可以帮你切输入法,但也不完美。按我的经验,Windows下的图形Vim,及MacVim配特定输入法(如鼠须管),可以改善这一问题。但确实,对中文输入总体不够友好。

    2020-10-13
    3
  • 瀚海星尘
    原以为就写写文档,应该会很简单,没想到有这么多配置。之前也好奇72是怎么来的,今天算是知道了。另外,那个分行的问题我之前也有困惑,原来是 l 选项默认设置的。

    作者回复: 魔鬼在细节…… fo 里有 l,只是对于 C 语言是默认的,对于其他的,不一定。可以在打开文档后用 :verbose set fo? 检查确认一下。

    2020-09-22
    2
  • pyhhou
    感觉 markdown 还是很实用的。看了两遍,跟着老师的描述操作了一遍,有些地方还是不是特别清楚 按我的理解,在 .vimrc 中设置了 textwidth,当一行的文字超过了 textwidth 的设定值就会自动回转到新的一行?但是调了好久,一行的长度都是vim窗口的长度。 formatoptions 那里,上节课,我记得老师用的是 m 选项而不是 n ?想要有 markdown 下的列表的换行自动缩进功能,需要在老师的配置基础上更改吗?我试了一下,好像这个功能也出不来 看网上一些帖子, markdown 还可以和 tagbar 配合着来使用,不知道效果有没有提升。 平时 markdown 用的比较多,但都是用像 macdown 那种图形编辑器。很想尝试下用 vim,但鉴于自己对 vim 的熟悉程度,还需要多多尝试😂

    作者回复: “在 .vimrc 中设置了 textwidth,当一行的文字超过了 textwidth 的设定值就会自动回转到新的一行”——是这样,但需要 formatoptions 选项里设了合适的数值,确保 formatoptions 里包含了 tm,确保你编辑的缓冲区的 textwidth 确实是你要的数值。 “formatoptions 那里,上节课,我记得老师用的是 m 选项而不是 n”——m 和 n 是两个完全不同意义的东西:m 用来支持中文中间折行,n 用来支持列表。 “看网上一些帖子, markdown 还可以和 tagbar 配合着来使用”——这个用法我之前倒不知道,配了下 .ctags ,确实可以出来效果,虽然略有点勉强。 写 Markdown,还是把 Markdown Preview 配出来吧。那个效果还是很漂亮的。

    2020-08-24
    9
  • YouCompleteMe
    模式行有什么常用的组合吗,比如示例README里的 ”: <!-- vim:autoindent:expandtab:formatoptions=tcqlmn:textwidth=72: -->

    作者回复: 一般就是填你这个文档跟通用设置不同的地方。一样的就不用填。常见的就是上面这些,尤其 et、ts、tw 这种设置。偶尔如果 Vim 认不出你的文件类型,ft 也可以填。

    2020-08-19
  • 我来也
    学习了. 虽然平常也在用vim写markdown,但是没这么讲究过,都是自己手动处理一些边界情况. 之前也从没有想过在这个方向上折腾. 等有时间了,我再参考本文把我的配置调整一下. 说起vim写markdown,我用的是插件[markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim)来实时预览. 不知道其他小伙伴有没有更好的推荐.
    2020-08-19
    1
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部