Після відкриття файлу в vim перейдіть до списку перегляду каталогів


123

Коли я відкриваю перегляд каталогів у vim, я можу відкрити файл, перемістивши курсор на ім’я файлу та натиснувши Enter.

Тепер, чи є якась команда повернутися до попереднього перегляду каталогу?

Якщо ні, чи існує спосіб відкрити файл без закриття режиму перегляду каталогів?


2
Я не впевнений, але якщо ви хочете по-справжньому зручно переглядати каталоги, рекомендую перевірити NERDTree
Йохан Котлінський

Відповіді:


198

Ви можете повернутися до останнього буфера за допомогою :b#.

Якщо ви тільки що відкрили файл, він поверне вас до веб-перегляду каталогів.

Оновлення : Оскільки ця відповідь була сприйнята як правильна відповідь і, таким чином, перебуває на вершині, я хотів би трохи узагальнити відповіді, включаючи той, @romainl, що імхо є правильним.

  • :Rex[plore]: Повернення до Explorer ( від @romainl ) vimdoc.sourceforge
  • :Explorer: відкриває Провідник, так само, як :E(якщо не визначено іншу команду, що починається з E(див. stackoverflow ), або як :Ex(див. vim.wikia ) ( автор @ drug_user841417 ).
  • :b#: повертається до "раніше відредагованих буферів". Дивіться vim.wikia
  • :e#або Ctrl- 6(або Ctrl- ^): повертається до "раніше відредагованого файлу" ( автор @ aman-jain ). Дивіться vim.wikia
  • Ctrl- O: повернутись до попереднього (старшого) місця, не обов'язково до буфера ( від @Peyman ). Дивіться vim.wikia

3
Так і має бути :b#. Я б це виправив, але односимвольні зміни не летять.
Ехрістоферсон

Якщо я це зробити, vim <dirname>а потім перейдіть до файлу і натисніть Enter, він не працює; якщо я відкрию vim, :e <dirname>виберіть файл і Enterвін працює. В обох випадках :buffersпоказано лише один буфер. Я не впевнений, чому це так.
mcmlxxxvi

@mcmlxxxvi згідно із вікі-програмою vim b#працює лише для "раніше відредагованих буферів": vim.wikia.com/wiki/…
ezdazuzena

3
Хороша річ, узагальнюючи всі інші правильні відповіді, я б хотів, щоб це робило більше людей.
LightMan

1
@veich Дякую за ваш коментар, але зараз я цього не робитиму, оскільки питання стосується лише того, щоб рухатись назад. Це не вікі-сторінка, я просто підсумовую інші питання заради наочності. Сподіваюся, ви це зрозуміли.
ezdazuzena

88

Ви можете використовувати Ctrl- Oдля повернення до попереднього буфера.


2
Дуже корисно в цілому (наприклад, для навігації назад з gf), але у випадку вивчення каталогів це не повертає мене до "рядка", на якому я знаходився під час відкриття файлу. :Rex<Enter>, яка дещо незграбна (5 натискань клавіш проти 1), це робить. Напевно, це кандидат для картографування ...
Томаш

34

Правильна команда для повернення до списку netrw є :Rex[plore]. Ви можете запустити його навіть після того, як ви перейшли до та з десятків файлів.


Якщо ви редагуєте файл після виходу з списку netrw, повертається, чим :Rexploreвідрізняється від повернення :Explore?
Яша

Щоб відповісти на моє власне запитання, виявляється, що :Rexploreзавжди повертає вас до того самого списку netrw, який ви переглядали раніше, тоді як :Exploreдає список для каталогу будь-якого файлу, який відкритий на даний момент.
Яша

29

:Ex поверне вас назад (і покаже, що ви відредагували, а що не зберегли).


1
Я підтримав КОЖЕН одну із відповідей. всі вони були корисні
javadba

Приємно, це трохи краще, ніж Ctrl-Oчерез те, що він виділяє батьківський каталог ( ..), а не верхній рядок (якийсь заголовок Netrw), але все ще не там, де я залишив провідник (відкритий файл). 4 натискання клавіш проти 1, деяка економія js, щоб перейти вниз, де я був, але все ж я, швидше за все, буду робити карту, :Rex<Enter>якщо очікую багато навігації.
Томаш

26

Я покладаюсь на Ctrl ^, щоб переходити вперед-назад, два / два буфери.


1
Це працювало для мене з vim 7.3 на OSX від homebrew. Здається, Ctrl-O не працює.
Гарднер Бікфорд

5
Вам навіть не потрібна зміна, може просто Ctrl 6
mVChr

правильніше, це "редагує альтернативний файл": vimdoc.sourceforge.net/htmldoc/editing.html#CTRL- ^
ezdazuzena

Відмінно! Хоча це просто працює вперед і назад (як "Скасувати 1 рівень"), але насправді повертається до лінії, на якій я був! Схоже, я все-таки не відображаюсь :Rex<CR>! (Звичайно, лише тоді, коли я не сподіваюсь "повернутися" з вкладених навігацій (перейшов до іншого файлу тощо).
Tomasz

14

Я зазвичай просто користуюся :E. Це легко запам'ятати і повертає вас до списку каталогу, який ви відкрили.


2
Я здивований, що у них занадто мало голосів. Це безумовно відповідь.
TaoPR

1
Не дивуйтеся - на моєму теперішньому vim 7.4.x :Eнеоднозначно і нічого не робиться. Вам потрібно ввести як мінімум :E<CR>.
Томаш

1
Це те саме, що :Exабо, як ні, :Explorerне визначено іншу команду, починаючи з E. Дивись, наприклад , stackoverflow.com/a/14367507/1141095
ezdazuzena
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.