Разница между word и word vim
Я изучаю Vim и не могу понять разницу между word и WORD .
Я получил следующее из руководства Vim.
Слово состоит из последовательности букв, цифр и знаков подчеркивания или последовательности других непустых символов, разделенных пробелами (пробелы, табуляции,). Это можно изменить с помощью опции iskeyword. Пустая строка также считается словом.
СЛОВО состоит из последовательности непустых символов, разделенных пробелом. Пустая строка также считается СЛОВОМ.
Я чувствую, что word и WORD - одно и то же. Оба они представляют собой последовательность непустых символов, разделенных пробелами. Пустая строка может рассматриваться как word и WORD .
Вопрос:
В чем разница между ними?
И почему / когда кто-то может использовать WORD вместо word ?
Я уже выполнял поиск в Google и SO, но их поисковая система интерпретирует WORD как просто word , так что я как будто ищу Vim word vs word и, конечно, не нашел ничего полезного .
- СЛОВО всегда разделяется пробелом .
- Слово разделяется не ключевыми словами символами, которые можно настроить. Пробельные символы не являются ключевыми словами, как и другие символы (например, ()[],- ). Следовательно, слово обычно меньше СЛОВА; слово-навигация более детализирована.
Примере
Если я сделаю viw ("выбрать внутренний word "), когда мой курсор находится на app в следующей строке, он выберет app :
Если я сделаю viW ( WORD ), когда мой курсор находится в том же месте, он выберет всю последовательность символов. WORD включает символы, которые words , подобные английским словам, не используются, такие как звездочки, косые черты, круглые скобки, квадратные скобки и т. Д.
Чтобы дополнить предыдущие ответы . Я визуализирую это так; СЛОВО больше слова, оно включает в себя больше .
Согласно документации Vim (: h 03.1)
Слово заканчивается не-словесным символом, например «.», «-» или «)».
СЛОВО заканчивается строго пробелом. Это может быть слово не в обычном смысле слова, отсюда и заглавные буквы.
Если ваш курсор находится на m (или больше)
слово будет означать "больше" (т.е. разделено символом ")", не являющимся словом)
тогда как СЛОВО будет означать «больше». (т.е. разделены только пробелами)
Аналогично, если ваш курсор находится на p (специального)
- слово будет означать "особенный"
- тогда как СЛОВО будет означать "особые / разделенные / слова"
Другой способ сказать это. Если ur кодирует, и вы хотите перейти через строку, останавливающуюся на разделителях и других строках, которые "(). [],:", Используйте w.
Если вы хотите обойти их и просто перейти к словам, скажем, как в романе или рассказе, используйте W.
Для кодирования, вероятно, наиболее часто используется маленькая буква w. Зависит от того, где вы находитесь в коде.
Это грамматическая проблема при понимании определения слова.
Сначала я застрял в китайской версии этого определения (возможно, это неверный перевод).
Определение определенно верное, но его следует читать так:
Пробелы нужны только при разделении двух одинаковых типов слова
В скобках указано больше примеров:
(пример ^ & $% ^ Пример) три "слова": (пример), (^ & $% ^) и (Пример)
(мы находимся в stackoverflow) пять «слов»: (мы), ('), (re), (in) и (stackoverflow)
Я изучаю Vim и не могу обернуть голову вокруг разницы между word и word .
Я получил следующее из руководства Vim.
Слово состоит из последовательности букв, цифр и символов подчеркивания или последовательность других непустых символов, разделенных пробелом (пробелы, вкладки). Это можно изменить с помощью 'iskeyword' вариант. Пустая строка также считается словом.
A WORD состоит из последовательности непустых символов, разделенных пустое пространство. Пустая строка также считается WORD.
Я чувствую, что word и word - это одно и то же. Они представляют собой последовательность непустых символов, разделенных пробелами. Пустую строку можно рассматривать как word и word .
Вопрос:
Какая разница между ними?
И почему/когда кто-то использовал word над word ?
Я уже выполнил поиск Google и SO, но их поисковый движок интерпретирует word как только word , так что я ищу Vim word vs word и, конечно, не найду ничего полезного.
ОТВЕТЫ
Ответ 1
- Слово WORD всегда ограничено пробелами.
- Слово разделяется символами без ключевого слова, которые настраиваются. Пробельные символы не являются ключевыми словами, и обычно другие символы (например, ()[],- ) тоже не являются. Поэтому слово обычно меньше, чем СЛОВО; слово-навигация более мелкозернистая.
Пример
Ответ 2
Если я делаю viw ( "select inner word " ), в то время как мой курсор находится на app в следующей строке, он выбирает app :
Если я делаю viw ( word ), в то время как мой курсор находится в одном месте, он выбирает всю последовательность символов. A word содержит символы, которые words , которые похожи на английские слова, не такие, как звездочки, слэши, круглые скобки, скобки и т.д.
Ответ 3
Согласно документации Vim (: h 03.1)
Слово заканчивается символом без слова, например, ".", "-" или ")".
СЛОВО полностью заканчивается пробелом. Это может быть не слово в нормальном смысле, поэтому в верхнем регистре.
Если ваш курсор находится в m (больше),
слово будет означать "больше" (т.е. ограничено символом ")", отличным от слова)
тогда как СЛОВО означало бы "больше". (т.е. ограничивается только пробелом)
Аналогично, если ваш курсор находится в точке p (специального)
- слово будет означать "специальный"
- тогда как WORD будет означать "специальные/разделенные/слова"
Ответ 4
Другой способ сказать это. Если ур кодирования и хотите двигаться через линию, останавливающуюся на разделителях и линиях вещей, которые "(). [],:" Использовать w.
если вы хотите обойти их и просто перейти к словам, скажем, как роман или рассказ, используйте W.
Для кодирования малый w, вероятно, используется чаще всего. Зависит от того, где вы находитесь в коде.
Существуют ли редакторы форматированного текста, в которых есть сочетания клавиш Vi (m)? В частности, что-то вроде Word, где я могу составить документ с цветами, заголовками и т. Д. но использовать привязки Vi (m) для перемещения и сочинения?
Так что если вам нужно использовать MS Word и хотите привязки клавиш vim, есть добавить на , но если вы не связаны с этим, я бы определился. перейдите на LaTeX + vim latex suite.
Проще говоря, это позволяет форматировать документы в виде простого текста с помощью тегов или команд.
Затем вы «компилируете» свой документ в окончательный формат .pdf, .ps и т. д.
Это позволит вам писать в vim, но при этом получать профессиональные непечатные текстовые документы для ваших документов.
Если вы хотите использовать vim для редактирования текста, но хотите, например, чтобы текст был разного цвета, выделите его жирным шрифтом и т. д., вы можете использовать Txtfmt . Это позволяет вам, используя специальные символы, немного «подкрасить» текстовые файлы. Они могут выглядеть довольно хорошо, и это удобно, если вы привыкли к vim, и, например, пишете документацию для ваших программ, которую вы позже просто получите на словах, сделаете одну или две корректировки и отправите.
Если вам нравится Markdown или Latex, вы можете использовать бесплатный редактор Rstudio с открытым исходным кодом, с включенным VIM-режимом. Экспорт в формате Word, PDF или HTML и т. Д.
Прочтите об уценке.
Плагин Txtfmt определенно обеспечивает функциональность, которую вы ищете. Это немного похоже на возможность «расширенного текста» для простого текста в Vim.
Последняя версия поддерживает 8 настраиваемых цветов переднего плана и фона, а также все комбинации жирного, подчеркивания, курсива и т. д. Подсветка основана на токене, но токены отображаются невидимыми по синтаксису и могут быть вставлены с очень удобными и интуитивно понятными отображениями, которые не требуют, чтобы вы помнили что-либо: например, «жирный шрифт» может быть указан с помощью строки, такой как bu или ub , Разрабатываемая версия даже поддерживает визуальные карты, которые позволят вам выбрать какой-нибудь текст и сказать (например) «Сделать этот текст красным, полужирным курсивом», и плагин будет обрабатывать вставку /удаление соответствующих токенов автоматически. (Это действительно довольно просто и интуитивно понятно, даже с невизуальными отображениями.)
Хотя плагин легко настраивается, настройки по умолчанию подходят для большинства пользователей, и автор более чем рад ответить на любые вопросы по настройке или использованию .
Существует способ настроить Abiword для использования привязки клавиш vi
Vim — один из самых противоречивых инструментов из всех видевших свет. Это не просто редактор, это лакмусовая бумажка, четко разделяющая программистов, администраторов и юниксоидов на своих и чужих. Пока одни задаются вопросом, зачем нужна эта мертвечина в XXI веке, другие не могут представить себе жизни без Vim. Но чем же он их привлекает? Почему у редактора, который появился на свет более сорока лет назад, столько фанатов в сегодняшнем мире? Попробуем разобраться.
Самый странный редактор
На первый взгляд Vim выглядит очень и очень странно. Знакомство с ним сопровождается страшными мучениями, когда ты просто не можешь понять, что происходит. Редактор либо вообще не реагирует на нажатия клавиш, либо ведет себя крайне неадекватно. Ты пишешь слово door, а вместо этого Vim переходит на новую строку и вставляет or. Ты стираешь эту галиматью и снова пробуешь что-то написать — и, о чудо, на экране действительно появляется текст.
А потом его опять начинает глючить.
Спустя несколько попыток разобраться, как это работает, и бесчисленное множество матерных слов ты идешь в интернет и узнаешь, что Vim — двухрежимный редактор. Писать текст здесь можно только в режиме ввода (INSERT), для перехода в который следует нажать кнопку i или Insert.
Основной же режим, для выхода в который используется Esc, здесь предназначен для ввода, как тебе на первый взгляд кажется, хоткеев. Причем состоять они могут всего из одной клавиши: w — передвигает курсор к следующему слову, 0 — в начало строки, $ — в конец строки, A переводит курсор в конец строки и переключает редактор в режим ввода, u — аналог Ctrl-Z в нормальных редакторах.
Погуглив еще немного, ты обнаруживаешь, что есть также «хоткеи» из двух и более последовательных нажатий. Такие, как, например, dd, который удаляет всю строку, и dw, удаляющий слово, gg и GG, которые перемещают курсор в начало и конец документа.
Немного привыкнув, ты уже можешь кое-как прыгать между режимами и вводить эти странные хоткеи — они даже начинают казаться тебе удобными, но один вопрос все-таки тебя не покидает:
— Зачем здесь эти режимы?!
«Хоткеи» Vim действительно удобны благодаря своей лаконичности, но разве необходимость переключаться между режимами не убивает все их удобство? Разве не проще нажимать пусть и требующие больше движений горячие клавиши в нормальных редакторах, чем мотаться взад-вперед между режимами? Да, может быть, сорок лет назад, когда на клавиатурах не было Ctrl и Alt, это и было оправданно, но сейчас-то зачем?
Так и заканчивает знакомство с Vim среднестатистический пользователь. Некоторое время он, конечно, еще потратит на то, чтобы найти выход, но затем забудет, как страшный сон, и вернется к своему любимому Sublime. А уж в условиях сурового сервера и nano сойдет.
Почему так происходит? По одной простой причине: для работы с Vim нужна совсем другая система мышления, переключиться на которую мало кому удается сразу.
Философия Vim
Чтобы понять, почему Vim именно такой, какой есть, и чтобы научиться использовать его эффективно, необходимо запомнить две простые истины.
Истина первая. Разделение режимов Vim имеет абсолютно логичный утилитарный характер. В одном режиме ты пишешь текст, во втором редактируешь. В современных редакторах эти границы размыты, мы привыкли писать и тут же редактировать, стирать, снова писать. В режиме ввода Vim позволяет это делать, но в очень ограниченных пределах: написал не ту букву — стер, написал другую. Все остальное — в режиме редактирования (основной режим).
Истина вторая. «Хоткеи», доступные в режиме редактирования, — это вовсе не хоткеи, а мощная система команд с аргументами, циклами и регистрами. При использовании Vim ты ни в коем случае не должен мыслить стандартным образом: сейчас я тыкну мышкой на том слове, потом нажму Backspace столько раз, сколько потребуется, чтобы его стереть, напишу другое слово, а потом перемещу курсор обратно. Вместо этого ты должен отдать редактору команду: замени вон то слово на это и верни меня обратно.
Чтобы проиллюстрировать этот принцип, взглянем на простой пример. Допустим, ты просматриваешь только что написанный текст и решаешь, что в абзаце, на котором в данный момент расположен курсор, последнее предложение лишнее и его следует удалить.
Первая идея, которая придет тебе в голову, — взять мышку, выделить последнее предложение, выбрать в меню «Вырезать» или нажать Del. Звучит просто и логично, но что ты скажешь про это?
Нажатие этих трех кнопок сделает то же самое. Я очень удивлюсь, если на это у тебя уйдет больше пары секунд.
Что они значат? Давай разберемся:
- > — команда перемещения, перебрасывает курсор в конец абзаца;
- d — команда изменения, а именно удаления (d — delete);
- ( — команда перемещения, перебрасывает курсор в начало предыдущего предложения.
Так как команды перемещения могут быть аргументами команд изменения, вся команда на человеческом языке звучит так: > — переместить курсор в конец абзаца, а затем d( — удалить все символы до начала предыдущего предложения. А если совсем просто: удалить последнее предложение текущего абзаца.
Команды можно повторять, например: 3> — переместить курсор на три абзаца вперед, >d2( — удалить два последних предложения в абзаце, 3J — объединить следующие три строки в абзац (J — Join), 3w — перейти на три слова вперед (w — word), 50G — перейти к пятидесятой строке (G — Go).
У Vim хорошая документация, просто набери :help и следуй инструкциям
Другой пример: ты опять же просматриваешь готовый текст и замечаешь слово Windows, которое лучше заменить на Linux. Решение в лоб — поставить курсор перед ним, нажать клавишу Del нужное количество раз, затем написать другое. Решение в затылок — переместить курсор на слово, нажать извращенную трехпальцевую комбинацию замены слова и написать другое. Правильное решение:
- /Win — команда перемещения с помощью поиска (в данном случае ищем Win);
- cw — команда замены (c — change) с аргументом «слово» (w — word);
- Linux — новое слово.
Чтобы просто удалить слово, можно использовать такую команду: /Windw (dw — delete word). Обрати внимание: в отличие от «поиска и замены» тебе не обязательно писать слово целиком. Более того, ты можешь сделать то же самое другими методами. Например, если слово Windows второе в третьем предложении, заменить его можно так: <3)wcwLinux.
Теперь о том, как редактировать код. Представь, что ты пишешь или просматриваешь свой код и замечаешь, что метод текущего класса, вызов которого находится под курсором, используется только здесь и поэтому его лучше сделать приватным. То есть тебе надо перейти к декларации метода и вставить перед ним слово-модификатор private .
Нуб в этой ситуации будет действовать прямолинейно: промотает код, найдет в нем нужный метод, тыкнет мышкой, вставит private перед именем метода, а потом промотает обратно. Более продвинутый разработчик использует хоткей для быстрого перехода к декларации метода, он может даже использовать другой хоткей, чтобы быстро сделать метод приватным, а самый продвинутый еще и воспользуется хоткеем для возврата.
Пользователь Vim сделает так:
- gd — переходим к определению функции или метода (gd — go definition);
- i — переключаемся в режим ввода;
- private — слово-модификатор и пробел;
- Esc — возвращаемся в обычный режим;
- `` — прыгаем туда, где были до перехода (возвращаем курсор обратно).
Ты можешь сказать, что здесь у Vim нет никаких преимуществ по сравнению с хорошими средами разработки, но обрати внимание на два момента. Первый: это очень заезженный пример, и именно поэтому он легко решается с помощью современных средств разработки. Возьми ситуацию поэкзотичнее, и среда разработки окажется бессильна, а Vim позволит решить задачу быстро и эффективно.
Кстати, обрати внимание на команду ``. Это команда ` (переход к метке) с аргументом ` (метка, которую редактор автоматически устанавливает перед любым перемещением курсора). Вместо `` можно использовать `., которая перебрасывает курсор к последнему отредактированному месту. Метки можно ставить и самостоятельно с помощью команды m, за которой следует буква. Например, ma — поставит метку «a», вернуться к которой можно с помощью `a или 'a (для перехода к началу строки).
Это опять же одна из стандартных функций редакторов, но Vim может сделать ее гораздо более мощной. Как ты уже должен знать, команды модификации текста принимают в качестве аргументов команды перехода, а это значит, что прыжок к метке тоже можно использовать в качестве аргумента. К примеру, удалить текст, начиная от текущего положения курсора до метки «a»: d`a.
К слову, команды удаления Vim не удаляют текст безвозвратно, а помещают его в буфер (в терминологии Vim — регистр), поэтому стандартными средствами здесь можно делать вещи, для которых в других редакторах потребовался бы отдельный хоткей. Например, менять две строки местами: ddp. Команда dd удаляет текущую строку (после чего курсор перемещается на следующую), p (paste) — вставляет текст из регистра под текущей строкой.
Вместо удаления строку можно просто скопировать с помощью yy (y — yank), а затем вставить с помощью все той же команды p. Объединим эту возможность с повторением команд и получим быстрый способ вставки множества одинаковых строк: yy10p.
Нарисовать линию ---------- можно так: вводим символ - , затем переключаемся в обычный режим с помощью Esc и вводим команду x10p (x вырезает символ под курсором, 10p вставляет его десять раз).
Команда . выполнит предыдущую команду. И да, ее тоже можно зациклить: 3. — повторить предыдущую команду три раза. Команда qa начнет запись макроса с именем «a», остановить запись можно нажатием q. Выполнить макрос: @a.
Vim поддерживает огромное количество других команд, и первое время ты будешь теряться в том, как и что здесь работает. Однако большая часть функций тебе не понадобится. Ты должен заучить базовые команды модификации текста (удаление, вставка и так далее) и базовые команды перемещения (прыжки по словам, строкам, абзацам, блокам кода, меткам и прочему). Просто объединяй их, и ты сможешь сделать практически все в несколько нажатий кнопок.
Командный и визуальный режимы
Называя приведенные в предыдущем разделе комбинации клавиш командами, я нарочно отошел от стандартной терминологии Vim, чтобы как можно более четко объяснить, как это все работает. На самом деле в Vim есть отдельный командный режим, больше похожий на классическую командную строку, и он позволяет делать еще более продвинутые вещи.
Продолжение доступно только участникам
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
As I started using VIM a few months ago, i got really familiar with it and am now using it VIM Emulators also in my IDE. But is there any Word-Processor like MS Office or LibreOffice, which supports vim-like shortcuts? There is a plugin for LibreOffice, but it is barely working. Any suggestions?
EDIT: LaTex is a really good suggestion, but I'm more looking for a WYSIWYG Editor, like MS Office or LibreOffice (Or AbiWord like mentioned in the comments)
EDIT: Thank you for all your kind answers! In the next days, i'll try the different things suggested. I will definitely try the combination of markdown and pandoc (thanks to /u/urvll) and learning LaTex seems like a good idea. For taking quick notes i will give vibreoffice another shot.
vim + pandoc + Markdown files
vim + pandoc + ReStructured Text
And never look back.
Have you considered LaTeX? It's got a learning curve but you can write it using any text editor, and of course there are numerous vim plugins should you find the standard functionality insufficient.
heard of that before, but never considered it! Thank you, i'll definitely check it out. I'm now downloading ProTexT as it's recommended on the LaTex Website. will take a while. Edit: I have only found LaTex Plugins for VIM, but not VIM Plugins in LaTex. But still, LaTex seems really useful for a lot of other things, so thanks for that!
thank you for the nice list. viemu is a bit to expensive for me, and i'm not getting the Configuration for AbiWord working. But I'll take a second look at vibreoffice!
This is more what i was looking for. Thank you!
I write long essays with vim using restructured text syntax. It is a lot like markdown.
It is easy to render it to HTML and then read in your browser.
I set textwidth=72 and I use Q to wrap paragraphs.
I know via your edit that you're not sold on LaTeX. Honestly I wasn't either at first, but it is amazing. You don't have to keep worrying about formatting because LaTeX will handle most of that for you. Have to write a lot of formulae? LaTeX equations look way better and more professional than any alternative. Also are way easier to write quickly after you get used to the syntax because of the nature of math and LaTeX prose.
You also mentioned in one post about using it for scientific articles. Everyone uses some version of Tex in those communities. I think you will look more skilled and professional if you bite the bullet. There are a few plugins that can help you with quick keybinds to build and preview your document even though you won't get something that is WYSIWYG.
Читайте также: