Коли я відкриваю новий файл у Vim і використовую вкладку, він завершує все ім'я файлу, а не часткове збіг, як це робить Bash. Чи є можливість зробити так, щоб доповнення цієї вкладки імені файлу працювало як Bash?
Коли я відкриваю новий файл у Vim і використовую вкладку, він завершує все ім'я файлу, а не часткове збіг, як це робить Bash. Чи є можливість зробити так, щоб доповнення цієї вкладки імені файлу працювало як Bash?
Відповіді:
Я особисто використовую
set wildmode=longest,list,full
set wildmenu
Коли ви введете перше звернення до вкладки, воно буде виконано якнайбільше. Друге звернення до вкладки містить список. Третя та наступні вкладки перейдуть через параметри завершення, щоб ви могли доповнити файл без додаткових клавіш.
Баш як би був справедливим
set wildmode=longest,list
але повна дуже зручна.
set wildmode=longest,5full,list
. З повною кількістю результатів марна, але дуже зручна з кількома. Це буде ідеально підходити до чогось на кшталт "показати повне, тільки якщо завершення вміститься на одному
Найближча поведінка до завершення Баша повинна бути
set wildmode=longest:full,full
Якщо набрано декілька символів, натискання вкладки один раз дасть усі відповідні місця wildmenu
. Це відрізняється від відповіді Майкла, яка відкриває вікно, схоже на виправлення під командним рядком.
Потім ви можете продовжувати вводити решту символів або знову натискати вкладку, щоб автоматично завершити перший матч і обвести навколо нього.
Якщо ви не хочете встановити меню дикого меню, ви завжди можете натиснути Ctrl+, Lколи хочете відкрити файл. Ctrl+ Lзавершить ім'я файлу, як Bash завершення.
<Tab>
завершує поточний рядок, наскільки це однозначно можливо (наприклад, CTRL-L
у Vim) та <Tab><Tab>
показує список можливих збігів (наприклад, CTRL-D
у Vim).
Я припускаю, що ви використовуєте автозаповнення у Vim через Ctrl+ Nдля пошуку через поточний буфер. Використовуючи цю команду, ви отримуєте список рішень; просто повторіть команду для переходу до наступного пункту у списку. Те саме стосується всіх команд автозаповнення. Поки вони заповнюють усе слово, ви можете продовжувати переміщатися по списку, поки не з’явиться той, який ви хочете використовувати.
Це може бути більш корисною командою: Ctrl+ P. Єдина відмінність полягає в тому, що Ctrl+ здійснює Pпошук назад у буфері, а Ctrl+ Nшукає вперед ... Реально, вони обидва надають список з однаковими елементами, і вони можуть просто з’являтися в іншому порядку.