Слово командного режиму Vim


12

Чи є спосіб отримати Vim в командному режимі для завершення слів із поточного файлу? Скажіть, у мене є цей файл:

one
two
three
once

і я входжу в режим командного рядка

:myruncommand o|

де |позначає положення курсору. Як зробити Vim завершеним oneабо onceпри натисканні Tab?



Цитата з опису сценарію: "У режимі": ", завершення доступне лише після" / "." Не дуже те, що мені потрібно.
Микола Колев

Відповіді:



5

jamesc в відповідь часто є найзручнішим, але, коли ви знаєте заздалегідь , що ви хочете використовувати автозаповнення для команди або пошуку рядка, або інші функції , доступні тільки в буфері, ось ще один спосіб , щоб дістатися до відповідних буферів :

  • Введіть, q :щоб відкрити буфер команд
  • Введіть aдля початку введення нової команди: myruncommand o
  • Використовуйте Ctrl+ N/ Ctrl+ Pдля заповнення ключових слів, як і у відповіді jamesc

В основному, q :це те ж саме, що і : Ctrl+ F: дозволяє вводити команди так, ніби ви вводите текст у буфер. Так само q /і / Ctrl+ Fі обидва дозволяють вводити рядки пошуку в буфер.


Чудова відповідь. Буфер команд - це те, що я, безумовно, хотів би краще використовувати.
jamesc

@jamesc: Я радий, що тобі це було корисно. Я про це не знав Ctrl+F, тож відповідь допомогла і мені.
Майкл Шепер

3

Незважаючи на те, що це не може бути завершено спочатку "вкладкою", є можливість:

  • Введення потрібної команди в режимі командного рядка. Для прикладу вище це було:

    :myruncommand o
    
  • Тепер натисніть, Ctrl-Fщоб увійти у вікно команд.

  • Скористайтеся Aрухом до кінця рядка та перейдіть до режиму Вставка.
  • Використовуйте Ctrl-N/, Ctrl-Pщоб відкрити завершення ключового слова та виберіть потрібний варіант - у цьому прикладі обидва oneі onceповинні бути доступними, оскільки вони знаходяться у відкритому буфері.

Я додав цю відповідь, тому що мій пошук "повного слова vim у командному режимі" привів мене сюди, і, здається, це є ефективним рішенням, хоча він не використовує клавішу "вкладка".

Це працює для мене у Vim 7.4


Я повинен був здогадатися, що існує простий спосіб перейти до буфера команд / пошуку під час вже введення команди чи рядка пошуку! Дякую! Я додав відповідь, заснований на вашій, для того, як я вже знав. Але, безсумнівно, Ctrl+Fзручніше у багатьох випадках. superuser.com/a/1016058/219388
Майкл Шепер

1

Завершення доступне, якщо ви введете історію командного режиму. Дуже зручно змінювати або повторювати раніше використані команди.

Натисніть q: у звичайному режимі, щоб увійти в область історії команд.

Докладніші відомості див. На веб-сайті http://vim.wikia.com/wiki/Using_command-line_history .


1
У режимі командного рядка, якщо ви введете, Ctrl-fвідкриється історія командного рядка, і якщо ви хочете закрити це вікно, ви можете набратиCtrl-w q
SergioAraujo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.