將 Vim 配置成一個寫作工具
在我的第一個專欄中,我談到了我為什麼把 我的寫作工作遷移到了 Vim 上 —— 遠離了現代寫作者們的標準工具,如文字處理器(MS Word 及它的開源替代方案)、文本編輯器(記事本,因為直到去年我一直是 Windows 用戶)和雲存儲技術。如果你是一個寫作者,在繼續下面的內容前,我建議你先閱讀一下 那篇文章的第一部分 。
基本上可以說,你使用的設備越多,你需要的寫作工具就越多,最終你的工作流程就越複雜。這一點對我來說是很貼切的,因為我有四台設備,包括一部安卓手機,一台日常用的運行 Linux 的主力筆記本電腦,還有兩台舊的筆記本電腦,其中一台是 Mac,我去戶外拍攝時會帶著它。
Vim 對於我和我的工作方式來說是一個完美的解決方案;雖然我不會說我的新的工作流程是現代寫作者工作的最佳方式,但我可以說的是,對於寫作者來說,擁有一個能在我們所有設備上工作的工具非常重要的,並且這個工具要足夠強大以滿足我們寫作者每天從事的不同類型的寫作需求。
從這個角度來看,Vim 的主要優勢是它是跨平台的 —— 無論在什麼設備上,Vim 都能工作。在蘋果生態系統中使用 Vim 的情況我就不細說了,但粗略地看一下 這個應用程序 的評論,我就會知道,總會有人在各種地方使用 Vim,不管他們使用的是什麼設備。
現在我們假設你是一個想開始使用 Vim 的寫作者。當你安裝了它,你該從哪裡開始呢?
我在這一部分給你的並不算是教程,而是一系列的建議,包含對一個用於詩歌寫作的 .vimrc
配置文件的解讀。只要有可能,我就會鏈接到我學習相應內容時用到的 YouTube 上的教程。
對於 Linux 用戶來說,系統已經預裝了 Vim —— 通過你喜歡的終端模擬器就可以啟動它。對於 Windows 和 Mac 用戶,你可以從 Vim 官方網站 下載它。
建議
安裝/啟用 Vim 後
- 通過終端打開 Vim Tutor。(Mac 用戶可以用這種方式啟動,而 Windows 用戶也可以用這種方法啟動。[LCTT 譯註:原文這裡本應該有鏈接,可能作者忘記添加了。無論如何,在終端中, Linux 中的命令是
vimtutor
,Windows 在安裝目錄下找到vimtutor.bat
命令並運行;Mac?應該與 Linux 一樣?我沒 Mac 呀!])在這個階段,你不會使用 Vim 進行任何寫作 —— 相反,你要每天花 15 分鐘做 Vim 教程。不要多花一分鐘或少花一分鐘;看看在規定的 15 分鐘內,你能在教程中取得多大的進展。你會發現,每天你都會在教程中取得更大的進步。在一個月內,你應該能夠利用這些 15 分鐘完成整個教程。 - 成為一個更好的打字員對 Vim 的使用來說有極大的好處。這不是必須的,但我正在重新學習打字,它的副作用是使 Vim 變得更加有用了。我每次都以花 15 分鐘練習打字開始,作為進入 Vim 教程前的熱身。
在每一天的開始,我分配了 30 分鐘的時間做這兩項練習進行熱身,而每天晚上睡覺前再分配 30 分鐘進行練習以讓我安定下來。這樣的做法幫我快速從舊的工具包過渡到了 Vim,但你的安排可能有所不同。
我再次強調,除了 Vim Tutor 之外,上述步驟都是可選的;這完全取決於你個人的動機水平。
現在我們來到了這篇文章的重點:如何配置 Vim ,使它對寫作者友好?
如何配置用於寫作的 .vimrc
在開始之前,我想在這裡提醒各位讀者,我不是一個技術人員 —— 我是一個小說家 —— 你在下面看到的任何錯誤都是我自己的;我希望有經驗的 Vim 用戶能提供反饋,告訴我如何進一步完善我的配置文件。
下面是我的 .vimrc
文件。你可以從我的 GitHub 上下載,並進一步完善它:
syntax on
set noerrorbells " 取消 Vim 的錯誤警告鈴聲,關閉它以免打擾到我們 "
set textwidth=100 " 確保每一行不超過 100 字元 "
set tabstop=4 softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set linebreak
set number
set showmatch
set showbreak=+++
set smartcase
set noswapfile
set undodir=~/.vim/undodir
set undofile
set incsearch
set spell
set showmatch
set confirm
set ruler
set autochdir
set autowriteall
set undolevels=1000
set backspace=indent,eol,start
" 下面的設置確保按寫作者而不是程序員喜歡的方式折行 "
set wrap
nnoremap <F5> :set linebreak<CR>
nnoremap <C-F5> :set nolinebreak<CR>
call plug#begin('~/.vim/plugged')
" 這是顏色風格插件 "
Plug 'colepeters/spacemacs-theme.vim'
Plug 'sainnhe/gruvbox-material'
Plug 'phanviet/vim-monokai-pro'
Plug 'flazz/vim-colorschemes'
Plug 'chriskempson/base16-vim'
Plug 'gruvbox-community/gruvbox'
" 這是為了更容易的詩歌寫作選擇的一些插件 "
Plug 'dpelle/vim-LanguageTool'
Plug 'ron89/thesaurus_query.vim'
Plug 'junegunn/goyo.vim'
Plug 'junegunn/limelight.vim'
Plug 'reedes/vim-pencil'
Plug 'reedes/vim-wordy'
" 這一部分是為了更容易地與機器集成,用了 vim-airline 這類插件 "
Plug 'vim-airline/vim-airline'
" 這一部分外理工作區和會話管理 "
Plug 'thaerkh/vim-workspace'
" 與上面插件相關, 下面的代碼將你的所有的會話文件保存到一個你工作區之外的目錄 "
let g:workspace_session_directory = $HOME . '/.vim/sessions/'
" 與上面插件相關,這是一個 Vim 活動的跟蹤器 "
Plug 'wakatime/vim-wakatime'
" 一個干擾因素:我在這裡使用了一些 Emacs 的功能,特別是 org-mode "
Plug 'jceb/vim-orgmode'
" 這是文件格式相關插件 "
Plug 'plasticboy/vim-markdown'
call plug#end()
colorscheme pacific
set background=dark
if executable('rg')
let g_rg_derive_root='true'
endif
學習如何安裝 Vim 插件時,這個教程幫助了我。我使用 Vim Plugged 插件管理器是因為在我看來它是最簡單、最優雅的。
對於寫作者的 .vimrc 選項的整理
syntax on
:這可以確保 Vim 知道我在使用什麼語法。做筆記、寫這種文章時我主要使用 Markdown;而在寫小說的時候,純文本是我的首選格式。set noerrorbells
:為了你的精神狀態,我強烈建議打開這個選項。set textwidth=100
:為了便於閱讀,沒有人願意橫向滾動一個文本文件。set spell
:如果有拼寫錯誤的話提醒你。set wrap
:確保文本以寫作者而不是程序員的方式進行折行。
你會注意到,我沒有花更多時間討論其他一些基本配置選項,因為我並不覺得那些對寫作者來說有多重要。因為我做一些業餘的編碼工作,所以我的 .vimrc
配置反映了這一點。如果你只想在 Vim 上寫作,那麼上述配置就應該能讓你順利開始。
從這點上來說,你的 .vimrc
是一個活的文檔,它能生動地反映你想用 Vim 做什麼,以及你希望 Vim 如何為你做這些事情。
關於插件的說明
第 43-98 行之間是我對插件的配置。如果你已經學習了關於如何安裝 Vim 插件的教程,我強烈推薦你從以下專為寫作開發的 Vim 插件開始:
vim-LanguageTool
thesaurus_query.vim
vim-pencil
vim-wordy
vim-goyo
vim-markdown
總結
在這篇文章中,我們簡單地介紹了寫作者可以怎樣開始使用 Vim,以及一個在寫作工作中需要的 .vimrc
入門配置。除了我的 .vimrc
之外,我還將在這裡鏈接到我在 GitHub 上發現的其他寫作者的 .vimrc
,它們是我自己配置時的靈感來源。
請勞記,這只是一個寫作者的 .vimrc
的入門配置。你會發現,隨著你的需求的發展,Vim 也可以隨之發展。因此,投入一些時間學習配置你的 .vimrc
是值得的。
在下一篇文章中,我將會檢視我在寫作時的工作流程的具體細節,這個工作流程中我使用了 Vim 和 Git 及 GitHub。
via: https://news.itsfoss.com/configuring-vim-writing/
作者:Theena 選題:lujun9972 譯者:piaoshi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive