CentOS 文本编辑器
Linux 终端的文本编辑器中,较著名的有:Nano、Vim、Emacs。其它文本编辑器还有 Gedit、Sublime,Atom 等等。
1、Nano
1.1、基础命令
nano:打开 nano 编辑器。nano [文件]:打开文件,文件不存在则创建。常用参数
nano -m [文件]:激活鼠标。nano -i [文件]:激活自动缩进。nano -A [文件]:激活智能 Home 键,根据行首处有无缩进来跳转。nano -miA [文件]:三者组合。
1.2、快捷操作
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 \:替换。
1.3、配置文件
Linux 中的配置文件大多以点开头,以 ”rc“ 结尾。许多程序启动时,都需要“rc”(run command)后缀的初始文件或配置文件。
Nano 有一个.nanorc配置文件,用于设置 Nano 的一些选项,每个用户都可以在自己家目录/home/用户名/创建 .nanorc 配置文件。
如果家目录没有.nanorc,则 nano 会使用全局的配置文件。
- 个人 Nano 配置,
cd /home/用户名,nano .nanorc
# 激活鼠标
set mouse
# 激活自动缩进
set autoindent
# 激活智能Home键
set smarthome
- 全局 Nano 配置,
sudo nano /etc/nanorc,该配置文件中有 Nano 的所有配置,只需将 set 配置语句前 # 号去掉,即可激活对应配置。
2、Vim
Vi iMproved,Vi 文本编辑器的进阶版。
2.1、四大模式
- 交互模式:Interactive Mode, Vim 默认模式,执行剪切、粘贴、撤销等操作。
- 插入模式:Insert Mode,按
i、a、o (I、A、O)键进入,执行输入文本操作。 - 命令模式:Command Mode,也称为底行命令模式,执行保存、退出、配置等操作。
- 可视模式:Visual Mode,高亮选取文本后的交互模式。
2.2、基础命令
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:选中字符转大写。
2.3、标准操作
在交互模式下操作。
删除
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:跳转底行。
2.4、高级操作
在交互模式下操作。
查找
/:从当前光标处开始,向文件尾搜索;输入查找的字符串,回车,光标跳至匹配处;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 外部命令 (终端命令),按回车或输入命令来继续。
2.5、配置文件
配置方式
- 激活或不激活选项参数,文档:http://vimdoc.sourceforge.net/htmldoc
- 安装插件,官网:https://www.vim.org/scripts/index.php
短暂配置
打开 Vim 后,在命令模式下激活选项参数,这些激活都是一次性的,再次打开 Vim 就没有了。
:set 选项名:激活配置:set 选项名=数值:激活配置:set no选项名:取消配置
永久配置
修改了配置文件后,须保存并退出文件,再重新运行 Vim,使用最新配置。- 全局 Vim 配置,
/etc/vimrc - 个人 Vim配置,
cp /etc/vimrc ~/.vimrc
可能有的选项参数已经存在也已经被激活,前面没有 " (双引号)。
可能有的选项参数已经存在但没有被激活,前面有 " (双引号)。
可能有的选项参数还没存在,添加即可。- 全局 Vim 配置,
常用选项
syntax on:(默认) 语法高亮,根据不同的文件类型。set number:显示行号。set showcmd:显示当前命令。set ignorecase:查找时忽略大小写。set mouse=a:激活鼠标,用鼠标选择一段文本则激活可视模式。
vim /home/.vimrcif 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"
CentOS 文本编辑器的更多相关文章
- Linux学习笔记(10)文本编辑器vim
vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立.编辑.显示文本文件.vim的特点是没有菜单,只有命令. vim主要有三种工作模式,分别为命令模式.插入模 ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- centos vim编辑器 第八节课
centos vim编辑器 第八节课 其他编辑器: nanogeditemacs 腾讯云上的vim版本~ VIM - Vi IMproved ~ ~ version 7.4.629 ~ by Br ...
- linux100day(day3)--常用文本处理命令和vim文本编辑器
今天,来介绍几个常用文本处理命令和vim文本编辑器 day3--常用文本处理命令和vim文本编辑器 col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| co ...
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- 富文本编辑器Simditor的简易使用
最近打算自己做一个博客系统,并不打算使用帝国cms或者wordpress之类的做后台管理!自己处于学习阶段也就想把从前台到后台一起谢了.好了,废话不多说了,先来看看富文本编辑器SimDitor,这里是 ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- 关于SMARTFORMS文本编辑器出错
最近在做ISH的一个打印功能,SMARTFORM的需求本身很简单,但做起来则一波三折. 使用环境是这样的:Windows 7 64bit + SAP GUI 740 Patch 5 + MS Offi ...
- 基于trie树的具有联想功能的文本编辑器
之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...
随机推荐
- 根据短链生成二维码并上传七牛云(Java)
通过短链生成二维码并上传七牛云(Java) 前言 网上这种帖子其实也是很多,大部分搜出来的是CSDN的,然后点进去一看都几乎一样:所以这次给个自己实践的例子记录. 这次也是通过搜索得到的一部分能实现这 ...
- Django——cookie保持登录
普通登录时,无法保持登录的状态,每一次请求时都需要重新登录. 而在登录时,生成cookie并保存在浏览器中,这样每次登录就会携带登录信息,就可以保持登录状态了. 操作cookie语法: # (1) 设 ...
- IPsec NAT-T说明和环境搭建
1. IPsec与NAT的关系 NAT作为一个IPV4的地址转换协议,它最初的目的是用来最解决IPv4地址不足的问题.通过NAT协议,局域网内的多个主机可以共同使用一个公网地址,这在很大程度上减轻了I ...
- JS008. 跳转缓存滚动条高度并返回时过渡动画(window.pageYOffset & window.scrollTo & SessionStorage)
业务场景 从列表跳转详情页,通过操作返回列表页时,滚动条仍然处于跳转前的高度,并加上 ease-out 的过渡动画. 由于sessionStorage是随页面即关即消的,所以比起VUEX.localS ...
- Spring5(五)——AOP
一.AOP 1.介绍 AOP(Aspect Oriented Programming),面向切面编程.它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共 ...
- 大数据最后一公里——2021年五大开源数据可视化BI方案对比
个人非常喜欢这种说法,最后一公里不是说目标全部达成,而是把整个路程从头到尾走了一遍. 大数据在经过前几年的野蛮生长以后,开始与数据中台的概念一同向着更实际的方向落地.有人问,数据可视化是不是等同于数据 ...
- https://www.cnblogs.com/spec-dog/p/11161744.html
转自:https://www.cnblogs.com/spec-dog/p/11161744.html 在软件项目研发管理过程中,是否经常出现这样的场景:开发人员不知道什么时候转测:项目经理拿个Exc ...
- 解决使用tomcat服务器发布web项目时出现URL中文乱码的问题
打开Tomcat的安装路径 打开server.xml文件 在修改端口号的一行既是下图中位置添加 URIEncoding="UTF-8" 就能替换在用eclipse或者myeclip ...
- Jmeter系列(27)- 常用逻辑控制器(6) | 如果(if)控制器If Controller
如果(if)控制器(If Controller) 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现 if控制器 ...
- Linux系列(22) - 用户登录查看命令
需求 查看当前在线用户情况:历史用户登录情况 W 格式 [root@localhost ~]# w:查看所有登录用户信息 [root@localhost ~]# w [用户名]:查看指定登录用户信息 ...