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

  • 配置方式

    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"
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM