Как да превърнете Vim в Word Processor
Тази статия е част от серията на Ръководството на потребителя на VIM:
- Ръководството на начинаещия да започнете да използвате Vim
- ВИМ клавишни комбинации Cheatsheet
- 5 Вим съвети и трикове за опитни потребители
- 3 Полезни съвети и трикове на VIM редактора за напреднали потребители
- Как да превърнете Vim в Word Processor
Вярвайте или не, аз използвам Вим като мой всекидневен текстообработващ процесор. Харесва ми простото му оформление и неговият модален дизайн, който облагодетелства клавишните команди над кликванията с мишката.
Въпреки че вероятно знаете, че Vim е текстов редактор, който е по-подходящ за кодиране, отколкото за проза, с няколко ощипвания вие също можете да пишете документи, като например в Word или LibreOffice, докато сте в удобните граници на терминал.
Приготвяме се да започнем
Ако все още не сте се запознали с основните положения на Vim, проверете тази статия, която е първата от поредицата от четири. Уверете се, че научавате как да отваряте текстов файл, да влизате и излизате от програмата и да премествате екрана с клавиатурата, преди да скачате по-нататък в това парче.
Инсталация
Разградът ви за Linux вероятно идва с Vim в хранилището на пакетите, за да можете лесно да го инсталирате с вашия софтуер мениджър или мениджър на пакети. Когато редактирате по-късно конфигурационния файл на Vim, можете да го направите като нормален потребител.
Arch Linux:
sudo pacman -S vim
Fedora:
sudo dnf install vim
Ubuntu:
sudo apt инсталирам vim
Всички останали могат да хванат Вим от хранилището му Github:
git клонинг https://github.com/vim/vim.git cd ./vim/src/ направи sudo make install
Вим конфигурационния файл
Инсталацията на Vim може да създаде .vimrc файл в домашната ви директория. Ако не, създайте едно:
докосване ~ / .vimrc
Можете да го отворите със самия Вим:
cd vim .vimrc
Нашият текстов процесор
Вече вероятно гледате празен файл. Да променим това.
Можем да създадем функция, наречена "WordProcessor", която можете да извикате по всяко време. Тя ще изглежда така:
функции! WordProcessor () "промяна на картата промяна на картата j gj карта k gk" форматиране на текст setlocal formatoptions = 1 setlocal noexpandtab setlocal обвивам setlocal linebreak "правопис и тезаурус setlocal правопис spelllang = en_us задаване на тезауруса + = / home / test / .vim / thesaurus / mthesaur.txt "завършва + = s прави autocompletion търсене на речника на тезауруса завършен + = s endfu com! WP обадете WordProcessor ()
Сега, когато виждате функцията като цяло, можем да разделим нейните части. Следвайте заедно, като разгледате разделите на нашата функция, коментирани с един кавички, отделните линии в сиво.
1. Преместването се променя с map j gj
и map k gk
Това, което виждате тук, е промяна в начина, по който движението на курсора работи във Vim. Ако прочетете предишните статии на Vim, споменати в началото на тази статия, ще знаете, че j движи курсора надолу и k се движи курсора нагоре. По същия начин gj и gk ви преместват надолу и нагоре, но преместват курсора по линията на екрана, а не по линията във файла.
Нашето картографиране на j / k към gj / gk дава на вашия курсор възможността да се движи нагоре и надолу през увити линии на вашия екран. Това ви помага, когато пишете дълги абзаци и трябва да преместите курсора лесно до средата на тези параграфи.
2. Форматиране на текст с командите "setlocal"
Първо, вижте setlocal formatoptions=1
. "Форматорски опции" ви позволява да избирате от няколко режима на форматиране на текст. В случай на опция "1", Vim ще се въздържи от счупване на линиите след думата с една буква. Той ще се опита, когато е възможно, да пречупи линиите преди думата с една буква.
След това setlocal noexpandtab
ви позволява да запазите Vim да променя раздели в интервали. Например настройката "expandtab" ще каже на Vim да промени натискането на клавиша Tab в няколко интервали, които пасват със същата дължина. "Noexpandtab" прави точно обратното; запазва клавиатурата ви като единичен знак.
setlocal wrap
указва на Vim да обвие текста си, когато достигне края на екрана ви. Това е поведението, което бихте очаквали от текстообработваща програма.
И накрая, setlocal linebreak
Вим да разбие линиите ви на разумни места. Поддържа линията ви да бъде увита в последния знак, който се вписва на екрана. Ето защо, отчасти, ще видите, че линиите на текста достигат до различни точки на екрана, преди да се превърнат в началото. Вижте как изглежда това с недовършено копие на тази статия в екранната снимка по-долу
3. Правопис и офлайн тезаурус
Vim идва с вградена способност за проверка на правописа. Можете да направите функцията си "WordProcessor" да използвате тази способност, като използвате командата setlocal spell spelllang=en_us
. Тук можете да определите няколко езика в списък, разделен със запетаи.
Намерете повече езикови файлове на този Vim FTP сайт. Поставете избраните файлове (както .spl, така и .sug файловете за всеки език) в "$ HOME / .vim / spell /." Променете линията на функцията си, за да set spelllang=en_us, nl, medical
, Холандски и медицински думи.
Сгрешените думи ще се показват като подчертани и смели във вашия текст.
Можете да търсите замествания, като въведете :z=
в нормален режим. (Използвайте клавиша Escape, за да стигнете до нормален режим.) Тази команда ще доведе до екран като следващото изображение.
Можете да използвате функцията на визуалния речник на Vim, като я посочите на избрания от вас указател на тезаурусите с set thesaurus+=/home//.vim/thesaurus/mthesaur.txt
или подобен. Можете да намерите файла "mthesaur.txt" в Project Gutenberg. Поставете изтегления текстов файл в указаната директория с тази команда.
Търсете думи, подобни на маркираната ви дума, като въведете режим Вмъкване (натиснете i, когато сте в нормален режим) и напишете Ctrl + x и след това Ctrl + t. Тя ще ви покаже списък като следното изображение, за което можете да превъртите, за да намерите нова дума.
Понякога предложенията не са най-добри.
4. Автоматично попълване на думи с опция "пълна"
Вижте set complete+=s
за последното разглеждане. Тази опция казва на Vim да претърси тезауруса за думата, която искате да извършите автоматично.
Обикновено можете да автоматизирате думите, като Вим погледнете предишните думи, които сте въвели, като "missspelled" и "mistake" в следващата екранна снимка. Просто влезте в режим Вмъкване и въведете Ctrl + n или Ctrl + p, за да потърсите дума, която например съвпада с половин слон "неправилно".
Вижте как първите две селекции не са от тезауруса? Тези две линии са единствените опции, които ще видите тук, ако нашата функция не е използвала "complete + = s". Можете да пропуснете или да коментирате тази линия за по-бързи автоматични допълнения.
Стартиране на текстовия ви процесор
Последният ред на вашия .vimrc, който прави функцията WordProcessor да работи, е com! WP call WordProcessor()
com! WP call WordProcessor()
. Тя ви позволява да въведете :WP
в нормален режим, за да зададете способностите на Vim за обработка на текстове.
Можете да редактирате "WP" в този ред, за да прочетете всичко, което ви харесва - просто се уверете, че текстът е съседен. Каквото и текст изберете, тогава командата ще се промени на:.
заключение
Функционалността, която дискутирах тук, продължава само за една Vim сесия. Следователно, когато затворите и отворите отново Vim, настройките по подразбиране ще се задържат отново. Това ще се случи дори ако отворите същия файл за втори път.
Можете да зададете тези опции извън функцията, за да можете да работят през цялото време, но те не биха могли да се справят с много от програмните задачи, които Vim е направил да се справи. Не е трудно да въведете няколко знака. Просто се насладете на новите настройки и факта, че сте превърнали терминала си в мощен редактор на абзаци.