Разница между word и word vim

Обновлено: 03.07.2024

Я изучаю 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)

Are there any rich-text editors that have Vi(m) keybindings? Specifically, something like Word where I can compose a document with colors, headings, et al. but use Vi(m) bindings to move around and compose?

421 1 1 gold badge 5 5 silver badges 5 5 bronze badges

9 Answers 9

So if you have to use MS Word and want vim key bindings, there is an add on, but if you are not bound to that I would def. go for LaTeX + the vim latex suite.

12.4k 3 3 gold badges 32 32 silver badges 44 44 bronze badges This would be awesome to have, VIM plugins and commands available in Word. VIM is a text editor. Even with the plugin mentioned below, it cant handle graphics, charts, images. Perhaps latex can, but you have to compile it etc before you can see it. Also word IMO is muc heasier to use compared to Latex, and I use it as a compilation of notes, access it from the cloud through onedrive. I use VIM intensively for programming, its amazing. But it cant do what Word can. Similarly Word cant do what VIM can. It would be awesome to have something like the plugin that simulate VIM for VScode.

Are you familiar with Latex?

Simply put it allows you to format your documents in plain text using tags or commands.

You then "compile" your document into the final format .pdf,.ps, etc.

This will allow you to write in vim, but still get professional non plain text output for your documents.

25.1k 11 11 gold badges 54 54 silver badges 76 76 bronze badges LaTeX, although very useful, is not a replacement for word. they have different paradigms and are useful in different contexts. LaTeX offers more beautiful text which can be used to print an actual published book, but word offers the kind of control LaTeX does not.

If you like Markdown or Latex, you could use the free open source Rstudio editor, with VIM-mode enabled. Export as either Word, PDF, or HTML etc.

Read about markdown:


4,811 8 8 gold badges 44 44 silver badges 70 70 bronze badges

If you wish to use vim for text editing, but want to, for example have text in different colors, bold it and such . you can use Txtfmt plugin. It enables you, by using special characters, to "prettify" plain text files a little. They can look quite nice, and it comes handy if you're used to vim, and are, for example, writing documentation for your programs which you'll later just get in word, and make an adjustment or two, and ship off.

56k 45 45 gold badges 158 158 silver badges 239 239 bronze badges

The Txtfmt plugin definitely provides the functionality you are looking for. It's a bit like having "rich text" capability for plain text in Vim.

The latest version supports 8 configurable foreground and background colors, as well as all combinations of bold, underline, italic, etc. The highlighting is token-based, but the tokens are rendered invisible by the syntax, and can be inserted with very convenient and intuitive mappings, which don't require you to remember anything: e.g., "bold-underline" could be specified with a string such as bu or ub. The version under development even supports visual maps, which will permit you to select some text and say (for example) "Make this text red, bold-italic", and have the plugin handle insertion/removal of the appropriate tokens automatically. (It's really quite simple and intuitive, however, even with the non-visual mappings.)

Although the plugin is highly configurable, the default settings are appropriate for most users, and the author is more than happy to answer any setup or usage questions.

Существуют ли редакторы форматированного текста, в которых есть сочетания клавиш 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


One related question: Is it possible to extend the set of "white space" delimiters? For example, in my LaTeX code, I often have something like

Pressing W at the beginning of the line jumps directly to the beginning of inline , but w stops at the backslash, at every bracket, at the comma and at every start of a word. So I have to press w 5 times to get to inline. I would like it to stop at the start of usepackage , shortlabels , inline and enumitem .


a word is a collection of word characters, but WORD is like every single character instead of a space.

this,is,seven,words , vs this,is,one,WORD and,a,second,WORD .

edited 4 to 7 words, thanks

Currently on mobile, but are you sure that the commas do not count as their own words? In my example above, brackets count as words.

I would like it to stop at the start of usepackage , shortlabels , inline and enumitem .

You might have better luck using the f operator to jump to the punctuation preceding a word. For example, if at the start of the line, f< would jump to the < before enumitem , which skips some w use. You could also consider a navigation plugin such as vim-sneak, but personally I make do with f and w .

Also thanks for posting this question OP. I find it annoying that foo-bar and foo_bar behave differently and it never occurred to me that I can try and change that behavior! I can just do :set iskeyword+=- or :set iskeyword-=_ . Not sure yet which one I prefer.

If the cursor is on u in usepackage it moves to the first [ . Now if I change this locally using

Now using w will move to the , after shortlabels as [ is now part of the words. In general it is not a good idea to mess with this option. However you can set g:tex_isk which overrides the iskeyword set by latex syntax file locally.

For your second question IMO to move quickly to the alphabet characters it is probably best to use search option with /\w\+ which searches for alphabet and then use n to move to next occurrence.

Читайте также: