LINUX的文本编辑器

来源:艾思后端实现 嵌入式开发 6 次阅读
摘要:在讲脚本前,根据小艾的经历,有必要介绍一下文本编辑器。 这个说起来不是个难事,但是对于刚使用linux的同学而言,编辑文本还真是个问题,首先,你很难找到写字板,就算找到了,也很难用,我说的没错吧。😄 所以,你必须改变,就从现在开始! Linux平台上一直有两派,争执不下,一个是emacs,另一个就是vim 他们两个都是很好的文本编辑器,但由于开发初衷不一样。 前者大约于1975在MIT诞生,他是一

在讲脚本前,根据小艾的经历,有必要介绍一下文本编辑器。 这个说起来不是个难事,但是对于刚使用linux的同学而言,编辑文本还真是个问题,首先,你很难找到写字板,就算找到了,也很难用,我说的没错吧。😄

所以,你必须改变,就从现在开始!

Linux平台上一直有两派,争执不下,一个是emacs,另一个就是vim 他们两个都是很好的文本编辑器,但由于开发初衷不一样。

前者大约于1975在MIT诞生,他是一个集大成的文本编辑器。除过编辑功能,还有很多系统功能,甚至可以做语法编译器。独木能成林,完成了编写到编译的全过程。界面支持扩充,用户可配置性强,与其说emacs是一个文本编辑器,更不如说他是一个系统

vim是传统unix的编辑器vi的增强版本(Vi IMproved ),他继承了vi的基本操作,并且支持很多新特性,现在的版本是8.6。vim体量短小精悍,但是功能一点也不逊色,支持很多神操作,小艾用了这么多年,好像还没把vim用到穷尽。

刚开始工作的时候,小艾两个都尝试过,最终还是选择了:

vim对新手极为不友好,说他高冷一点都不过分,无论是移动光标,还是输入字符,都让人无从下手。小艾在互联网上找了一张vim键盘映射图 (侵删)

Vim有很多的功能,但是最基础的是要配置启动配置文件,但是这里要强调的是,所有启动的配置文件,除过那些需要预加载的内容,大部分配置都是可以在交互的环境中使用冒号命令来配置的,网上有很多模板,作为一个IC工程师,小艾的vim是这样配置的,以供各位同学参考,这些已经足够日常使用了:

syn on     color default

set ts=4 set expandtab set textwidth=0 set wrapmargin=0 set nolinebreak set nobackup   set nu set vb set hlsearch set incsearch set nocompatible set nopaste set backspace=indent,eol,start set showcmd set ruler set softtabstop=2 set shiftwidth=2 set smartindent set statusline=%<===\ %f%(\ ===\ %h%)%(\ ===\ %m%)%(\ ===\ %r%)\ ===%====\ %b(0x%B)\ ===\ %l,%c%V,%o\ ===\ %P\ === laststatus=2 set viminfo='100,<1000,s100,:1000,/1000

filetype indent on filetype plugin indent on filetype indent on

map gk map gj map :previous map :next

nnoremap "=strftime(" @{%Y-%m-%d %H:%M:%S}") inoremap =strftime("@{%Y-%m-%d %H:%M:%S}")

大部分都是常规设置,有几个地方需要强调以下几点        1:filetype plugin indent on:这个允许用户挂在插件,plugin或者indent,他们的默认路径在你的根目录下面,例如 ~/.vim/plugin和~/.vim/indent, pliugin里边包括的都是一些,用户添加的冒号命令,vim会在启动的时候遍历这些plugin目录来挂载,成功的话,你可以在冒号命令里边看到它们。Indent是对某些用户定义语法的indent(缩进)支持,譬如vhdl、verlog等等,当你编辑这些文件时打开auto indents,vim是可以自动识别你的语法的来进行缩进的。更多插件都可以在 https://www.vim.org 找到        2:set expandtab:自动展开输入的table内容为空格键,tabel展开后的文本更适合块编辑(crtl-V)。任何table的键都只是一个键,并不是屏幕上显示的那么多空格。你可以用 “:set list”查看所有隐显特殊字符。       3:set statusline=%<===\ %f%(\ ===\ %h%)%(\ ===\ %m%)%(\ ===\ %r%)\ ===%====\ %b(0x%B)\ ===\ %l,%c%V,%o\ ===\ %P\ === laststatus=2    : 定制你的底边栏,可以显示文章的总字数、当前行、当前列等有用信息,对于定位长行很管用

4:set viminfo='100,<1000,s100,:1000,/1000 : 定义你的.viminfo文件里保存的条目数,包括输入历史,命令历史等等,用这个数量的设置,就够用了。

以上是启动vim之前的一些便捷设置,至此,你的vim变得即好看又方便了。

在打开vim后,首先要清楚你的模式,模式不清,干活不灵!当你迷失方向的就是,最简单的方法按下Esc,让自己回到命令模式,然后继续工作。在vim的世界里,永远不用担心错误的操作,只要不退出vim,“u”的无限undo功能可以让你青春永驻。

对于vim的基本操作,网上想必已经有了上万条文档了吧,这里小艾不做过多的讨论了,如果小艾从基本操作说到精通,估计得逼叨逼叨一个月,如果你是小白,看看下边这本中文手册基本应用就差不多了。

Vim是一个通用文本编辑器,功能强大到你想不到,但是你还是用它来服务自己的工作的,根据你工作上的特点,把你最需要的环节利用vim的命令解决掉,就足够了。

为了加速工作,在正常时间里敲出超正常的文本,小艾这里列举一下vim的几个异常强大的功能和技巧,希望能给大家带来启发和共鸣

      0: vim的所有操作都是区分大小写的,例如”i”就是在当前光标出插入,“I”是在行首插入,在vim,一定要控制好你的cap-lock,不要冲动哈。       1:  块操作:这是让你可跳出行的规则,以列为基础的操作方式,使用Ctrl+v打开块操作,选中后,可以对文本进行拷贝、删除、插入、追加等操作,命令操作结束后,按下Esc,vim会自动在所有块区域应用改动。       2: 多次操作: 数字+操作符,这个就像foreach。比如说,你向下移动一行是点一下:“j”,如果你想向下移动100行,你可以依次按下:100j,光标会瞬间移动到100行以后。非常好用。       3:  宏操作: vim支持宏录制,“qa+操作步骤+a”(录制一段操作到堆栈a里边),使用“@a”可以执行一次宏操作。如果联系上文的多次操作,你可以在你的文件里边,连续执行多次宏,我们执行10次宏a的命令是: 10@a。一个命令重复多次很平常,执行一次宏也不难,如果你可以让有一个宏执行多次,你的编辑能力一定会有质的飞跃。       4: vimdiff:  vim支持文本文件的diff,这个命令会高亮文件的不同点,小艾觉得它的显示比tkdiff好看些,而且不用弹窗。由于语法高亮会和diff的部分颜色交叠,小艾推荐大家使用如下命令来减少眼睛的疲劳 “vimdiff -c "syn off"”。另外,vimdiff还支持16进制文件的diff,这点在某些极端情况下是很强大的,需要的同学可以关注下  

Vim的强大已经远超我们日常的需求了,如果你能熟练掌握以上的运指如飞独门绝技,相信你也能在你的朋友圈里大秀一把了。

今天的将讲解就到这里,喜欢的点个赞吧!点击下图关注小艾的公众号了。

相关推荐
评论区

登录后即可参与讨论

立即登录