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、配置文件

  • 配置方式

    1. 激活或不激活选项参数,文档:http://vimdoc.sourceforge.net/htmldoc
    2. 安装插件,官网:https://www.vim.org/scripts/index.php
  • 短暂配置

    打开 Vim 后,在命令模式下激活选项参数,这些激活都是一次性的,再次打开 Vim 就没有了。

    1. :set 选项名 :激活配置
    2. :set 选项名=数值:激活配置
    3. :set no选项名:取消配置
  • 永久配置

    修改了配置文件后,须保存并退出文件,再重新运行 Vim,使用最新配置。

    1. 全局 Vim 配置,/etc/vimrc
    2. 个人 Vim配置,cp /etc/vimrc ~/.vimrc

    可能有的选项参数已经存在也已经被激活,前面没有 " (双引号)。

    可能有的选项参数已经存在但没有被激活,前面有 " (双引号)。

    可能有的选项参数还没存在,添加即可。

  • 常用选项

    • 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"

CentOS 文本编辑器的更多相关文章

  1. Linux学习笔记(10)文本编辑器vim

    vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立.编辑.显示文本文件.vim的特点是没有菜单,只有命令. vim主要有三种工作模式,分别为命令模式.插入模 ...

  2. Linux系统 vi/vim文本编辑器

    Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...

  3. centos vim编辑器 第八节课

    centos  vim编辑器  第八节课 其他编辑器: nanogeditemacs 腾讯云上的vim版本~ VIM - Vi IMproved ~ ~ version 7.4.629 ~ by Br ...

  4. linux100day(day3)--常用文本处理命令和vim文本编辑器

    今天,来介绍几个常用文本处理命令和vim文本编辑器 day3--常用文本处理命令和vim文本编辑器 col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| co ...

  5. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  6. 富文本编辑器Simditor的简易使用

    最近打算自己做一个博客系统,并不打算使用帝国cms或者wordpress之类的做后台管理!自己处于学习阶段也就想把从前台到后台一起谢了.好了,废话不多说了,先来看看富文本编辑器SimDitor,这里是 ...

  7. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  8. 关于SMARTFORMS文本编辑器出错

    最近在做ISH的一个打印功能,SMARTFORM的需求本身很简单,但做起来则一波三折. 使用环境是这样的:Windows 7 64bit + SAP GUI 740 Patch 5 + MS Offi ...

  9. 基于trie树的具有联想功能的文本编辑器

    之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...

随机推荐

  1. JUC原子操作类与乐观锁CAS

    JUC原子操作类与乐观锁CAS ​ 硬件中存在并发操作的原语,从而在硬件层面提升效率.在intel的CPU中,使用cmpxchg指令.在Java发展初期,java语言是不能够利用硬件提供的这些便利来提 ...

  2. vue2.0与3.0中的provide和inject 用法

    1.provide/inject有什么用? 常用的父子组件通信方式都是父组件绑定要传递给子组件的数据,子组件通过props属性接收,一旦组件层级变多时,采用这种方式一级一级传递值非常麻烦,而且代码可读 ...

  3. WebService学习总结(四)--基于CXF的服务端开发

    本节将实践目前最流行的第二种web service 发布和调试框架  CXF Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩 ...

  4. Electron-vue项目使用 Inno Setup 创建安装包

    1.安装 Inno Setup 官网:https://jrsoftware.org/isinfo.php 2.打开 Inno Setup ,点击如下图Compli32.exe(首次安装默认打开) 3. ...

  5. 【优化技术专题】「温故而知新」基于Quartz系列的任务调度框架的动态化任务实现分析

    不提XXLJOB或者其他的调度框架,就看我接触的第一个任务调度框架Quartz(温故而知新) Quartz的动态暂停 恢复 修改和删除任务 实现动态添加定时任务,先来看一下我们初步要实现的目标效果图, ...

  6. Android使用Fragment+ViewPager +TabLayout实现顶部标题栏

    参考资料: https://blog.csdn.net/Tobey_r1/article/details/93221486 项目背景是Android开发新闻APP,实现新闻文本的分类,内容的展示,并实 ...

  7. 【C++基础教程】第三课

    上次的课后练习答案 练习一 第一题a=8 第二题8 第三题(int)(a+0.2) 提示:把浮点数转换为整数,用强制类型转换的方式.(int)(...)表示把...的内容强制转换为int类型,同理,( ...

  8. win10系统移动热点使用技巧

    win10系统是自动移动热点功能,在平时测试的时候,有时需要进行手机抓包,需要手机和电脑处于同一网络当中,这时可以开启热点使用. 如何开启移动热点? 直接搜索"移动热点" 但是如果 ...

  9. yum 安装 php 环境

    如此简单 第一步: sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7. ...

  10. 简单易行的美化方案:Ubuntu 18.04 把启动过程中的紫色美化为黑色

    背景 给笔记本装了一个Ubuntu,嫌弃启动的颜色很丑:因此在网上找到了一些修改方法,集成为一个傻瓜脚本. 参考文档: https://askubuntu.com/questions/5065/how ...