13. Linux内容编辑
13.1 Linux文本编辑概述
Windows 图形化工具 | 记事本,写字板,notepad++
Linux 图形化工具 | text editor/gedit
在Linux中对文本编辑,通常使用命令行
编辑流程
1. 打开文件
2. 文件操作-编辑
3. 保存/不保存
4. 退出
编辑器之神 -vim
神的编辑器 -emacs
其他编辑器 vi/nano etc..
早期 linux GUN gcc | emacs
后续开发 vi -> vim
早期程序员使用 基于文本编辑器方式开发代码,现在仍然有程序员使用文本编辑器来进行开发。
现在文本编辑器主要给运维提供简单文本编辑
现在程序员做代码开发使用IDE(集成开发环境,pycharm,Hbulider,vocode)
[zy@localhost Desktop]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[zy@localhost Desktop]$
[root@localhost ~]
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]
13.2 vim 编辑基础功能
$#. 多种模式
1.1 命令模式 command-mode (默认进入命令模式)
在命令模式下无法对文件进行普通编辑,但可以查找/复制/剪切/粘贴
光标移动 - 键盘上下左右
h 左
j 下
k 上
l 右
2.2 编辑模式 edit-mode
"i": 表示在光标的左侧插入数据
"a": 表示在光标的右侧插入数据
"o": 表示在光标下另起一行插入数据
"I": 表示在光标的最左侧插入数据
"A": 表示在光标的最右侧插入数据
"O": 表示在光标上另起一行插入数据
"ESC": 回到命令模式
3.3 末行模式 extent-command-mode
在编辑模式下无法直接进入到末行模式,需要先进入到命令模式,再进入到末行模式
在命令模式下,输入":" 进入到末行模式
"w" 保存
"q" 普通退出(未进行任何编辑)
"wq" 保存并退出(进行正常的编辑并希望保存) "x" = "wq"
"q!" 强制退出(进行编辑不希望保存)
"wq!" 强制保存并退出
"set number" 显示行号
"set nonumber" 关闭显示行号
4.4 可视化模式 visual-edit-mode
[zy@localhost Desktop]$ vim zy.txt
~
"zy.txt" [New File] 0,0-1 All
[zy@localhost Desktop]$ touch zy.txt
[zy@localhost Desktop]$ more zy.txt
[zy@localhost Desktop]$ echo "zy" >> zy.txt
[zy@localhost Desktop]$ more zy.txt
zy
[zy@localhost Desktop]$
13.3 vim 进阶功能
$# 命令模式下
shift + ( 句首
shift + ) 句尾
shift + $ 行尾
0 行首(单独按)
$#
"x" 删除单个字符
"u" 返回并且撤销
"dd" 剪切(删除)整行
"d3d" 剪切(删除)多行(3行)
"P"(大写的P) 前方粘贴
"p"(小写的p) 后方粘贴
"yy" 复制一行
"y3y" 复制3行
"gg" 回到首行
"G" 回到最后一行
"7G" 到第7行
"r" 单个字符替换
"R" 多个字符替换 (ESC)
$# 末行模式下
:32,34s/nologin/NOLOGIN/
:6,8s/n/N/g
/ftp 查找信息
n 向下翻阅
N 向上翻阅
13.4 vim visual edit modify
v
V
ctrl + v
选择矩阵 I 输入
[zy@localhost Desktop]$ vim zy.txt
zy
周伯通
杨过
黄蓉
~
-- VISUAL BLOCK -- 3,7-5 All
~ 1,1 All
[zy@localhost Desktop]$
[zy@localhost Desktop]$ vimtutor