目录
Linux 终端的文本编辑器中,较著名的有:Nano、Vim、Emacs。其它文本编辑器还有 Gedit、Sublime,Atom 等等。
nano
:打开 nano 编辑器。
nano [文件]
:打开文件,文件不存在则创建。
常用参数
nano -m [文件]
:激活鼠标。nano -i [文件]
:激活自动缩进。nano -A [文件]
:激活智能 Home 键,根据行首处有无缩进来跳转。nano -miA [文件]
:三者组合。EXC X
:显示\隐藏帮助文档。
Ctrl G
:帮助文档。
Ctrl X
:退出。
Ctrl O
:保存。
Ctrl J
:对其当前段落。
Ctrl R
:读取文件。
Ctrl W
:查找。
Ctrl Y
:上一页。
Ctrl V
:下一页。
Ctrl K
:剪切当前行。
Ctrl U
:粘贴 。
Ctrl C
:光标位置。
Ctrl T
:拼写检查。
Ctrl \
:替换。
Linux 中的配置文件大多以点开头,以 ”rc“ 结尾。许多程序启动时,都需要“rc”(run command)后缀的初始文件或配置文件。
Nano 有一个.nanorc
配置文件,用于设置 Nano 的一些选项,每个用户都可以在自己家目录/home/用户名/
创建 .nanorc
配置文件。
如果家目录没有.nanorc
,则 nano 会使用全局的配置文件。
个人 Nano 配置,cd /home/用户名
,nano .nanorc
set mouse
set autoindent
set smarthome
全局 Nano 配置,sudo nano /etc/nanorc
,该配置文件中有 Nano 的所有配置,只需将 set 配置语句前 # 号去掉,即可激活对应配置。
Vi iMproved,Vi 文本编辑器的进阶版。
交互模式:Interactive Mode, Vim 默认模式,执行剪切、粘贴、撤销等操作。
插入模式:Insert Mode,按i、a、o (I、A、O)
键进入,执行输入文本操作。
命令模式:Command Mode,也称为底行命令模式,执行保存、退出、配置等操作。
可视模式:Visual Mode,高亮选取文本后的交互模式。
vim
:打开 Vim 编辑器。
vim [文件]
:打开文件,文件不存在则创建。
交互模式
ESC
:进入交互模式。h | ↑
:向左移动一个字符。j | ↓
:向下移动一个字符。k | ←
:向上移动一个字符。l | →
:向右移动一个字符。0 (零)
:光标移至当前行行首。$ | End
:光标移至当前行行尾。w
:一个单词一个单词的移动。插入模式(先按 Esc 键进入交互模式)
i
:在光标前插入。I
:在光标当前行首插入。a
:在光标后插入。A
:在光标当前行尾插入。o
:在光标下插入一行。O
:在光标上插入一行。s
:删除光标所在字符并在光标前插入。S
:删除光标所在行并插入。命令模式(先按 Esc 键进入交互模式)
:
:进入命令模式。:w [文件名]
:保存。:wq | :x [文件名]
:保存并退出。:q
:退出。:q!
:不保存退出。:set nu
:显示行号。:set nonu
:隐藏行号。可视模式(先按 Esc 键进入交互模式)
v
:字符可视模式。V
:行可视模式。Ctrl v
:块可视模式。u
:选中字符转小写。U
:选中字符转大写。在交互模式下操作。
删除
x
:删除光标处字符。数字x
:删除从光标处字符开始,往后N个数字的字符。dd
:删除光标所在行 (剪切)。数字dd
:删除从光标所在行,往后N行字符。dw
:光标移至单词首字母删除单词,若光标在单词中间则删除光标处及后面所有字符。数字dw
:删除从光标处单词开始,往后N个数字的单词。d0
:删除从光标处到行首的所有字符。d$
:删除从光标处到行末的所有字符。复制
yy
:复制光标所在行。yw
:复制一个单词。y0
:复制从光标所在处到行首的所有字符。y$
:复制从光标所在处到行末的所有字符。粘贴
p
:粘贴到光标后面。数字p
:粘贴数字次。替换
r新字符
:替换光标处字符。R
:替换模式,替换光标处开始任意个字符,ESC 键退出替换模式。撤销
u
:撤销。数字u
:撤销数字次。Ctrl r
:取消撤销、返回。跳转
数字G | 数字gg
:跳转指定行。gg
:跳转首行。G
:跳转底行。在交互模式下操作。
查找
/
:从当前光标处开始,向文件尾搜索;输入查找的字符串,回车,光标跳至匹配处;n 下一个匹配,N 上一个匹配。?
:从当前光标处开始,向文件头搜索;其它与 / 一样。替换
:s/旧字符串/新字符串
:替换光标所在行第一个匹配的字符串。:s/旧字符串/新字符串/g
:替换光标所在行所有匹配的字符串。:#,# s/旧字符串/新字符串/g
:替换第#行至第#行所有匹配的字符串。:%s/旧字符串/新字符串/g
:替换所有匹配的字符串。合并
:r 文件名
:光标处插入一个文件的内容。分屏
:sp [文件名]
:横向分屏。:vsp [文件名]
:垂直分屏。Ctrl w w
:切换分屏,同一行默认从上往下,从左往右。Ctrl w 方向键
:按指定方向切换分屏。Ctrl w +
:扩大当前分屏。Ctrl w =
:均匀分配所有分屏比例。Ctrl r
:调换分屏位置。Ctrl R
:反向调换分屏位置。Ctrl w q|c
:关闭当前分屏。:quit | :close
:关闭当前分屏。Ctrl w o
:保留当前分屏,关闭其它分屏。:only
:保留当前分屏,关闭其它分屏。其它
:!命令
:运行 Vim 外部命令 (终端命令),按回车或输入命令来继续。配置方式
短暂配置
打开 Vim 后,在命令模式下激活选项参数,这些激活都是一次性的,再次打开 Vim 就没有了。
永久配置
修改了配置文件后,须保存并退出文件,再重新运行 Vim,使用最新配置。
可能有的选项参数已经存在也已经被激活,前面没有 " (双引号)。
可能有的选项参数已经存在但没有被激活,前面有 " (双引号)。
可能有的选项参数还没存在,添加即可。
常用选项
syntax on
:(默认) 语法高亮,根据不同的文件类型。set number
:显示行号。set showcmd
:显示当前命令。set ignorecase
:查找时忽略大小写。set mouse=a
:激活鼠标,用鼠标选择一段文本则激活可视模式。vim /home/.vimrc
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=ucs-bom,utf-8,latin1
endif
set nocompatible " Use Vim defaults (much better!)
set bs=indent,eol,start " allow backspacing over everything in insert mode
"set ai " always set autoindenting on
" than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
"自定义配置================================
" =
set number "显示行号 =
set showcmd "显示当前命令 =
set ignorecase "查找时忽略大小写 =
set mouse=a "激活鼠标 =
" =
"==========================================
" Only do this part when compiled with support for autocommands
if has("autocmd")
augroup redhat
autocmd!
" In text files, always limit the width of text to 78 characters
" autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
" don't write swapfile on most commonly used directories for NFS mounts or USB sticks
" start with spec file template
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
augroup END
endif
if has("cscope") && filereadable("/usr/bin/cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add $PWD/cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
filetype plugin on
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
" Don't wake up system with blinking cursor:
" http://www.linuxpowertop.org/known.php
let &guicursor = &guicursor . ",a:blinkon0"
手机扫一扫
移动阅读更方便
你可能感兴趣的文章