2013-05-16 24 views
5

Tôi đã lập bản đồ để tiện theo dõi:vim chia: Tập trung new window

" this is a ctrl + backslash binding to vsplit 
nmap <C-\> :vsplit<CR> 
" this is a ctrl + hyphen binding to hsplit 
nmap <C-_> :split<CR> 

này là tốt nhưng cần thêm một liên lạc cuối cùng để hành xử theo cách tôi muốn đó là nó nên tập trung cửa sổ mới được tạo ra vì vậy tôi có thể ngay lập tức mở bất kỳ tệp nào tôi muốn bằng cách sử dụng plugin :e hoặc CtrlP truyền thống. Vì nó là bây giờ, làm điều đó sẽ di chuyển từ cửa sổ ban đầu đó là hơi mất phương hướng.

Làm cách nào để có được :split:vsplit để tự động lấy tiêu điểm cửa sổ vim mới được tạo?

+0

thể trùng lặp của [vị trí con trỏ Vim trên cửa sổ chia mới] (http://stackoverflow.com/questions/15968880/vim-cursor-position-on-new-split-window) –

Trả lời

18

Khi tôi mở chia mới con trỏ của tôi được tự động tập trung ở cửa sổ mới theo mặc định. Những gì bạn có thể không nhận ra là phân chia dọc mới được đặt ở bên trái và phần chia ngang mới được đặt ở trên cùng.

Để mở phần tách mới ở bên phải hoặc ở dưới cùng của màn hình, hãy thêm phần sau vào vimrc của bạn.

set splitbelow 
set splitright 
+0

Ưa thích. Đó không phải là dễ dàng để tìm ra chỉ bằng cách sử dụng ': [v] split'. – timss

+0

Hoàn hảo ........ –

+0

Nhưng dễ dàng tìm ra khi nào bạn làm ': vnew'. – romainl

1

Tôi không chắc chắn nếu đó là 100% linh hoạt và làm việc trong mọi tình huống, nhưng bạn có thể kết hợp nó với một con trỏ di chuyển đến một lệnh cửa sổ, chẳng hạn như ctrlw + w.

nnoremap <C-\> <C-w>v<C-w>w 
  • <C-w>v - như :vsplit
  • <C-w>w - di chuyển con trỏ đến cửa sổ bên dưới/phải của dòng điện một
+0

Đây không phải là một ý tưởng xấu mặc dù tôi tin rằng nó sẽ không luôn luôn đi đến cửa sổ bên phải. Tài liệu dường như không chỉ ra rằng CTRL-W_W có một lệnh tương đương ':', điều này là lạ –

+0

@StevenLu Vâng, điều đó có thể gây rắc rối tùy thuộc vào cách bạn muốn chia nhỏ. Tôi thực sự có một ràng buộc cho một cái gì đó tương tự, nhưng 'splitbelow' và' splitright' có vẻ là một giải pháp tốt hơn. – timss

+0

@StevenLu nếu bạn gõ ': h split' hai dòng trên nó sẽ hiển thị các lệnh chế độ thông thường. – FDinoff