VIM: Як я можу відкрити файл праворуч як vsplit з лівої панелі NerdTree?


Відповіді:


86

Є sкоманда, але вона відкриває файл, розділений ліворуч від поточного буфера. Хоча ви можете натиснути Ctrl+, W rщоб поміняти вікна тоді.


3
Це нормально, але якщо я хочу відкрити інший файл, набравши s, тоді я отримую ще одне розділене вікно, але я хочу замінити старіше розділене вікно поточним відкритим файлом, як я можу це зробити?
незручно

5
Здається, після додавання set splitright, як запропонував @PrinceGoulash, sу файлі всередині NerdTree відкриється розділення праворуч, не потрібно робити це Ctrl-W r. Якщо я правильно вас розумію, якщо ви хочете дотримуватися лише двох вертикально розділених вікон, ви можете перейти до старішого вікна та відкрити новий файл усередині нього за допомогою NerdTree, просто натиснувши Enter.
grimgav

Ні, я намагаюся сказати, що є два vsplit вікна, ліворуч меню nerdtree, якщо я натисну "s", то воно потрапить у праву сторону. більше не буде відкритого вікна.
незручно

@guru Тоді ви хочете "відкрити" нове вікно, а не "розділити" його. Вікно завжди відкривається / замінює останній вибраний буфер. На жаль, це, швидше за все, буде лівий з двох ваших відкритих. Не ідеально, але одним із варіантів може бути обертання вікон навколо Ctrl+W R, а потім відкрити файл і повернути назад.
JHannes

159

Щоб vsplitпоставити новий буфер праворуч від поточного буфера:

set splitright

Подібним чином, щоб зробити splitновий буфер помістити нижче поточного буфера:

set splitbelow

Однак я не пробував цього з NerdTree.


3
добре, але як я можу відкрити vsplited файл, замінюючи старий?
незручно

1
@shibly Якщо ви splitrightвстановили, то ви можете вийти з файлу, який зараз знаходиться праворуч vsplit newfilename, і який розмістить новий файл там, де був старий. Ви також можете зробити ті , в одному рядку , як це: q | vsplit newfilename. Це передбачає, що файл праворуч є активним.
SunSparc

1
щойно перевірений, сплітрейт добре працює з nerdtree. Зверніть увагу, що це зробить усі подальші розколи горизонтальними, а не вертикальними, якщо хтось не використовуєvsplit
Дуайт Спенсер,

3

Це трохи зламати, але як я це роблю, це таке:

  1. Помістіть курсор у вікно, в яке я хочу відкрити файл
  2. Попадання <leader>n<leader>n(це закриває NERDtree, а потім знову відкриває його курсором у NERDtree)
  3. Виберіть файл

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

Почніть з вікна, у яке ви хочете відкрити файл.

Після <code> <leader> n <leader> n </code> ви повернетесь до NERDTree

Натисніть, <leader>n<leader>nщоб закрити та знову відкрити NERDTree

Виберіть файл, який ви хочете відкрити!

Виберіть потрібний файл!

Швидке C-w =повернення ваших вікон до належних пропорцій.


відмінне рішення. від <leader>nвас означає <C-n>?
Хафенкраніч

3

Не впевнений, чи хтось ще бореться з цим, але ось як я з цим справлявся.

Можна використовувати

:ls 

для переліку доступних буферів. Що може виглядати приблизно так:

1 "foo.txt"
2 "blame_the_user.java"

:b1 щоб вибрати foo.txt

:b2 для звинувачення_користувача.java

Цей метод можна зробити з будь-якої установки вікна за допомогою :spабо :vs.

Спершу відкрийте буфери, які потрібно розділити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.