Linux中的文本编辑器或查看器,类似于Windows中Microsoft Word、Visual Studio Code等软件,是编写文件必备的工具。

常用的文件查看器(不能编辑):

  • cat
  • more
  • less
  • head
  • tail

常用的文件编辑器:

  • nano
  • vi / vim
  • emacs

本文将简单介绍这些编辑器常用的功能,更为复杂可通过文章内的链接自行查阅学习。

meme

less 文件查看器

less

光标位移

快捷键描述
SPACE移动一
b移动一
j移动一
k移动一
10j移动10
10k移动10
G前往文件尾部
g前往文件开头
q退出less编辑器

搜索

快捷键描述
/搜索
n跳转至一处匹配项
N跳转至一处匹配项

VI/VIM 文件编辑器

VI/VIM编辑器一共有3种编辑模式:

  • Command Mode(默认)
  • Insert Mode /** 按ESC返回Command Mode **/
  • Visual Mode /** 按ESC返回Command Mode **/

VI/VIM编辑器快捷键大全:Cheat Sheet

Command Mode

光标位移

快捷键描述
/ k将光标向上移动一个字符
/ j将光标向下移动一个字符
/ h将光标向左移动一个字符
/ l将光标向右移动一个字符
^将光标移动至当前行开头
$将光标移动至当前行结尾
gg将光标移动至文档第一行
G将光标移动至文档最后一行
w / e将光标向右移动一个单词
w会移动到每个单词的第一个字母e会移动到每个单词的最后一个字母
:n将光标跳转至第n行(n为一个具体的数字)
:set mu显示行号

保存退出编辑器

快捷键描述
:w保存
:wq保存并退出
:q退出 (当文件被编辑,必须强制退出
:q!强制退出
:wq!强制保存并退出(当文件只读时)

删除/剪切/撤销/重做

快捷键描述
x删除(剪切)字符
dd删除(剪切)
dw删除(剪切)
u撤回
5u撤回5词
Ctrl + r重做 (取消撤销)

复制/粘贴

快捷键描述
yy复制行
p在光标粘贴
P在光标粘贴

Insert Mode

进入插入模式

快捷键描述
i光标当前所在的位置进入编辑模式
I行开头进入编辑模式
a光标后一字符的位置进入编辑模式
A行结尾进入编辑模式
o当前行的下一行插入新行并进入编辑模式
O当前行的上一行插入新行并进入编辑模式

Visual Mode

快捷键描述
v进入选择模式
V进入选择模式
Ctrl + v进入选择模式

其他实用方法

选择复制内容

vi-select-copy-content

v 进入选择模式,然后移动光标选中你要复制的内容,再按y复制,移动光标至需要粘贴的地方,按p粘贴。

批量注释

vi-comment-mutiple-lines

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 //#,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

整体操作括号/引号内的字符

删除引号/括号内的所有字符:

something="This is a string." --> something=""
(123456) --> ()
  1. 在normal/command模式下,将光标移动到括号/引号内的任意字符
  2. 按下组合键:d + i + 括号/引号,比如删除引号内的字符则为d + i + "

组合键解释:d为delete,i是告诉vim编辑器需要选择的范围,括号/引号是一个标识。

复制引号/括号内的所有字符:

  1. 在normal模式下,将光标移动到括号/引号内的任意字符
  2. 按下组合键:y + i + 括号/引号,比如复制引号内的字符则为y + i + "

个性化Vim编辑器(插件)

Vim编辑器本身已十分强大,但我们可以通过安装插件使其更加符合个人口味。

注意: 安装过多插件会影响Vim编辑器的性能。

vim-plug

vim-plug

vim-plug是一个简约的Vim插件管理器,可以很方便的管理所有插件。

Unix/Linux安装:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

其他系统环境安装请参考vim-plug GitHub主页文档

vim-airline

vim-airline

vim-airline可以美化Vim编辑器的状态栏,会比原版状态栏更加易用/直观

添加下面代码到.vimrc文件(如果没有请新建一个) :

call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()

保存并运行代码安装插件:

:PlugInstall

其他设置:

(选择性添加至.vimrc文件)

"----------Plug vim-airline/vim-airline configuration----------
let g:airline#extensions#tabline#enabled = 1 " Enable the list of buffers
if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif
let g:airline_symbols.colnr = ' ' "Fix the status bar text display problem
" ~/full/path-to/file-name.js
let g:airline#extensions#tabline#formatter = 'default'  " f/p/file-name.js
let g:airline#extensions#tabline#formatter = 'jsformatter' " path-to/f
let g:airline#extensions#tabline#formatter = 'unique_tail' " file-name.js
let g:airline#extensions#tabline#formatter = 'unique_tail_improved' " f/p/file-name.js

更多设置请参考Getting started with vim-airline

相关文章

参考

Vim Cheat Sheet

边用边学Vim —— 整体操作括号/引号内的字符

Getting started with vim-airline