说明

Vim是Mac随附的免费且功能强大的文本编辑器。在本教程中,我将向您展示此文本编辑器的基础知识。

Pycharm 开启vim编辑器后,tab功能不起作用,其实是用> 来缩进。

打开文件

您可以像任何命令行编辑器一样在Vim中打开文件。

如果要编辑的文件是life.md,请在“终端”窗口中键入:

vim life.md

Vim将在该终端中打开并加载该文件。Vim是终端程序,而不是图形系统程序。

Vim模式的基础

Vim有四种模式:Normal,Insert,Visual和Command。每种模式都在程序状态栏的左下方显示其名称。

当您启动Vim时,它处于正常模式。您可以使用所有命令键来浏览文件并开始编辑。当您退出任何其他模式时,Vim会返回到普通模式。

Vim使用a,A,i,I,o和O命令处于插入模式。进入插入模式后,编辑器将保持该模式,直到您按Esc键。每按一次其他键将直接插入文件中当前光标所在的位置。

当您在正常模式下使用v,V和Ctrl-v命令时,就会出现可视模式。在可视模式下,您可以选择文本。当您使用导航命令时,从可视模式的开始到退出可视模式的区域是选定的文本。

在正常模式下,只要使用:命令,就会进入命令模式。在命令模式下,您可以执行复杂的编辑功能,文件操作或外壳程序操作。命令模式是唯一一种在状态行上不显示任何内容的模式,但是输入的命令将放置在状态行下,并键入任何其他内容和光标。

保存文件并关闭Vim

在正常模式下,您可以键入ZZ保存所有内容并退出。您也可以使用:w!保存文件。。的:将你置于命令模式中,w ^将写入文件,以及!强制操作写没有问题。或者,您可以键入:wq或:wq!。该q退出编辑器。您也可以使用:q!退出而不保存。

基本光标运动

在普通模式下,您可以在文件中四处移动并对文件进行特定的编辑。该^ h键将光标移动到左边。该升键将光标移动到右侧。所述Ĵ键将光标向下移动一行,而ķ键将光标上移一行。要移至下一个单词,请使用w命令。上一个单词命令是b。

如果要一次移动多个空格,单词或行,请先键入数字,然后再输入方向键。光标将沿该方向移动该次数。例如,如果键入10j,光标将向下移动10行。

通过使用命令模式,您可以将行号切换为绝对或相对:

  • 绝对编号模式是正常的:每行按顺序具有唯一编号。
  • 相对编号模式显示当前编辑行以外的行数。

    要使用绝对行编号,可以使用:set number命令。要不显示行号,请使用:set nonumber命令。

    要设置相对编号,请输入:set relativenumber。要将其放回绝对编号,请输入:set norelativenumber。

    通过使用:set number和:set relativenumber设置两种模式,Vim将显示当前行以外的所有行的相对编号。当前的编辑行将显示其绝对编号。

通过使用相对编号模式,您可以使用j或k命令快速查看要移动的行数。例如,要移至List所在的行,请按2j。

要移至行首,请使用0(即零)命令。要移至行尾,请使用$命令。的GG命令将所述光标移动到文件的开头,而ģ命令将移动到文件的末尾。

.vimrc文件

您可能希望始终使用相对行号,但是在启动Vim时总是很难设置它。这就是Vim配置文件有用的地方。在主目录的终端中,键入

vim .vimrc

该的.vimrc文件Vim的配置文件。您在命令模式下键入的任何命令都可以添加到该文件中。每次启动Vim都会运行它。在该文件中,使用i命令开始插入文本。现在添加这些行并保存:

set number
set relativenumber
set hlsearch

现在,每次打开Vim时,将设置混合的绝对行和相对行编号模式,同时突出显示所有搜索结果。突出显示的搜索在下一部分中很有用。您可以对.vimrc文件做更多的事情,但这必须等待另一个教程。

搜索和替换

您可以在普通模式下使用/命令进行搜索。通过输入/ This,您将看到所有突出显示的This单词,如下所示。

通过输入n,光标将移动到下一个搜索模式。通过使用N,您可以返回上一个出现的位置。/之后给出的模式可以是任何正则表达式。阅读文章高级搜索和用正则表达式替换以更好地了解正则表达式。

为了替换文本,您必须使用命令模式。在命令模式下,s命令用于在当前行中进行替换,%s用于在整个文件中进行替换,而, s用于从行号替换为行号。

格式为/ <搜索模式> / <替换模式> / gi,其中<搜索模式>和<替换模式>是标准正则表达式。在上面的示例中,我用That替换了This的所有存在。在我的后摹使得搜索不区分大小写。一个我将让搜索区分大小写。该摹使得替换该行全球。如果没有g,则每行执行一次替换。

编辑命令

要在当前光标位置的左侧插入文本,请使用i命令。的一个命令插入到当前光标位置的右侧。在我命令插入到该行的前面,而甲插入到行的结尾。

该Ø命令行光标在期权和看跌期权编辑成之后插入一个全新的行插入该行的开头模式。所述Ô不相同,但增加了在当前光标位置上方的行。

要删除字符,请使用d命令,然后使用方向删除该方向的字符,或使用空格键删除光标下方的字符。如果以数字为前缀,则Vim会沿指定方向删除该数字字符。该DD命令将删除当前行。的d命令将删除一切从当前光标位置到行的结尾。

该X命令将删除光标字符。的X命令光标之前删除。无论是X和X命令将采取一些前缀来执行该动作的次数。

复制,剪切和粘贴

在正常模式下按v时,视觉模式开始。所有光标移动都会导致从可视模式的开始进行选择。选择后,使用y命令来拉动或复制所选文本。移至新位置并使用p命令将其粘贴在光标之后,而P命令将其粘贴在光标之前。

选择后,x命令将删除选择。使用d命令将剪切该部分,以便您可以使用p命令进行粘贴。

为了选择文本块,请从 -v命令开始。的V命令启动的视觉由线和不是字符模式选择。

全选 select all - ggVGy(注意VG中间的大写)

TLDR:如果要将 Vim 中的文本复制到系统剪贴板,请键入ggVG"*y. 下面解释…

Vim 在终端中运行,并且取决于您如何使用它以及您正在运行的 Vim 类型,它并不是真正为您设计的用鼠标选择文本并以传统方式复制和粘贴。

如果要使用 Vim 选择所有文本,请使用ggVGy(注意VG中间的大写)。此命令将光标移动到文件顶部,进入可视模式,移动到文件底部(因此,选择所有文本),然后猛拉(复制)它。然后您可以使用p放置(粘贴)此代码,但仅限于 Vim 内部。

如果你想复制到剪贴板以在 Vim 之外的某个地方使用,那么试试这个:

首先,使用上面列出的命令选择所有内容,但没有最后的 y:( ggVG)。然后按"*y。这应该现在把它复制到操作系统的剪贴板中,你可以粘贴(Ctrl/ Cmd+ v)任何你想要外面的Vim。这取决于您对 Vim 的设置,但它应该可以工作。

所用命令的简要说明。gg转到文件的顶部。V按行进入可视模式。G转到文件末尾。y猛拉(复制)文本但不复制到剪贴板。p放置(粘贴)文本。

更高级(即酷)的东西:

"允许您访问寄存器。例如"a提供访问注册一个。

这*是系统剪贴板,因此"*提供对系统键盘的访问。因此,"*y猛拉到系统剪贴板。

实践使完美

现在,您已经知道Vim中使用的基本命令,您需要练习。Vim Adventure是练习Vim命令的好方法。这是一款冒险游戏,可让您练习各种Vim命令以探索冒险世界。

参考

https://computers.tutsplus.com/tutorials/vim-for-beginners–cms-21118
https://stackoverflow.com/questions/30838436/how-to-copy-all-the-text-from-vim-editor-using-vim-command-line

翻译:Vim从入门到精通 Mac OS相关推荐

  1. 【转载】uvm前置 · Vim 从入门到精通

    声明:该文章转载自github - wsdjeg的项目(见如下链接),此处仅供查阅方便,如侵删,感谢作者和翻译者的突出贡献. https://github.com/wsdjeg/vim-galore- ...

  2. Android Studio2.0 教程从入门到精通MAC版 - 安装篇

    来自:http://www.open-open.com/lib/view/open1466430392743.html 前言 这个教程你将学会如何使用Android Studio2.0开发Androi ...

  3. 让Vim更好用 for Mac OS X | Hessian's Blog

    让Vim更好用 for Mac OS X | Hessian's Blog: "' Enable omni completion. autocmd FileType css setlocal ...

  4. VIM从入门到精通(恢复文件)

    现在开始我就要将一些vim的该机一点的技巧,这第一篇我就讲如何恢复文件.你的电脑死过机吗? 就在你辛辛苦苦编辑了几小时后? 别急! Vim已在磁盘上保留了充足的信息来恢复你的大部分工作. 本文将讲解V ...

  5. Android Studio教程从入门到精通

    最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio2.0 教程从入门到精通Windows版 - 入门篇 Andro ...

  6. Android Studio2.0 教程从入门到精通Windows版

    系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio2.0 教程从入门到精通Windows版 - 入门篇 Android Studi ...

  7. Mac OS X使用之——新年第一天弘法寺许愿,MacVim小试

    2013-01-01 wcdj 新年第一天,和lydia一起去了仙湖植物园,在弘法寺许了新年心愿,祝福爱我的人和我爱的人,新的一年梦想成真. 下文是对MacVim的使用总结,特别推荐一个印度男孩(Sw ...

  8. 打开 Mac OS X 的朗读功能看英文文档

    Mac OS X 的朗读功能默认是关闭的. 该功能就是朗读所选文本, 结合三指选词查找翻译功能, 对阅读英文文档和学习英文都有很大的帮助. 三指选词查找翻译功能如下图: 打开Mac OS X 的朗读功 ...

  9. mac安装rstudio_在Windows / Linux / Mac OS上安装R和RStudio入门

    mac安装rstudio 在Windows上安装R (Installing R on Windows) Go to r-project.org on your internet browser.在您的 ...

  10. mac x99算法 java_黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一)...

    黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一) 2019-12-27 17:01:17 196点赞 2085收藏 138评论 追加修改(2019-12-2 ...

最新文章

  1. c中结构体的4种定义
  2. 再见了SpringMVC,这个框架有点厉害,甚至干掉了Servlet!
  3. telecom js
  4. 制备pdms膜的方法_四川大学杨伟团队JMCC:实现柔性压阻式压力传感器的规模化制备...
  5. FSMC(STM32)
  6. 北京林业大c语言程序设计考试试题,2020年南京林业大学2017考研真题考研真题试卷及试题答案,C程序设计考研试题下载...
  7. It's a start!
  8. 公众号支付相关需要注意的问题
  9. TensorFlow下载与安装
  10. 清华AI的华山论剑现已开启,不服就来战!王小川楼天城唐文斌都曾搅动风云...
  11. python -m以模块方式启动,python命令加上-u(unbuffered)参数后会强制其标准输出
  12. Java小项目 屏幕自定义尺寸GIF生成器V1.0
  13. 如何分析加上SE壳的.net程序
  14. ERP实施项目的计划阶段要点分析
  15. 音乐文件加密歌曲转换器mp3
  16. 【Java 8 新特性】Java CompletableFuture applyToEither()
  17. 计算机毕设(附源码)JAVA-SSM化妆品销售网站
  18. js 获取字符串的UTF8编码
  19. Photoshop - 关于在 PS 中使用渐变会产生条纹色阶的问题
  20. 合作开发收费系统——临时表解决用户重复登录问题

热门文章

  1. postgresql立式版本下载_Apache ShardingSphere 4.1.1版本正式发布
  2. python 城市地图_使用底图获取城市地图的最佳方法? - python
  3. php伪静态后301,php伪静态htaccess实现301重定向方法
  4. ant 使用java 运行类_用ANT构建java可执行程序
  5. 平安夜,Python 送你一顶圣诞帽 @微信官方
  6. cocos2d-x 输入框CCEditBox的使用
  7. iOS开发系列-ARC浅解
  8. Eclipse查看hadoop源代码出现Source not found,是因为没有添加.zip
  9. NDK开发基础④增量更新之客户端合并差分包
  10. iOS 项目改名~~~~~