Trình chỉnh sửa văn bản với tùy chọn màn hình chia nhỏ


26

Có trình soạn thảo nào có tùy chọn "chia màn hình" thành hai hoặc nhiều phần, truy cập nhiều hơn một tệp (có thể bằng cây tệp) mà không cần mở nhiều cửa sổ soạn thảo cùng một lúc không và làm thế nào để làm điều này (cái gì là lệnh).

Tôi không biết nếu tôi làm cho mình rõ ràng, nhưng "màn hình chia nhỏ" là cách duy nhất để mô tả những gì tôi muốn đạt được. Tôi muốn sử dụng nó để lập trình, mở nhiều tệp để chỉnh sửa. Lưu ý rằng tôi khá mới đối với cả vi và emacs, nếu những thứ này có khả năng làm điều này. Ngoài ra, nếu điều này phải được thực hiện thông qua trình chỉnh sửa thiết bị đầu cuối, nó có thể được thực hiện trong cùng một thiết bị đầu cuối, bất kể kích thước màn hình không?


1
Tôi biết bạn đã hỏi cụ thể về trình soạn thảo và không phải thiết bị đầu cuối, nhưng tôi nghĩ rằng đáng lưu ý đối với khách truy cập trong tương lai: trình giả lập thiết bị đầu cuối terminatorcũng có tính năng chia màn hình: ctrl + shift + esẽ chia theo chiều dọc và ctrl + shift + osẽ chia theo chiều ngang (và cũng ctrl + shift + tsẽ mở một tab mới)
Carlos Campderrós

@ CarlosCampderrós Tôi sẽ ghi nhớ điều đó, cảm ơn!
Đêm giao thừa

1
@ CarlosCampderrós: ​​Bạn cũng có thể sử dụng bộ ghép kênh như màn hình hoặc tmux để đạt được điều đó trong các trình giả lập thiết bị đầu cuối khác. Nhược điểm, tất nhiên, là bạn phải nhớ chạy chúng trước, nhưng tính linh hoạt có lẽ là đáng giá.
Phoshi

Câu trả lời:


38

vim có thể dễ dàng làm điều đó:

ctrl+ ws- Chia cửa sổ

ctrl+ ww- chuyển đổi giữa các cửa sổ

ctrl+ wq- Thoát khỏi cửa sổ

ctrl+ wv- Chia cửa sổ theo chiều dọc

:sp filename

sẽ mở filenametrong bộ đệm mới và chia một cửa sổ.

Bạn cũng có thể làm

vim -o file1 file2

Để mở các tập tin trong một bố trí màn hình chia. Thay thế -obằng -Ocho chia dọc thay vì ngang.


4
Hoặc gõ :help CTRL-Wđể xem tất cả các hoạt động cửa sổ chia.
Bernhard

1
Woa thật tuyệt! Tôi cũng vấp phải ": split", nhưng nó chỉ chia theo chiều ngang. Bạn có thể vui lòng chỉ bao gồm phiên bản này của vim không? Cảm ơn!
Đêm

@Eve Tôi sử dụng VIM (Vi IMproved) 7.3.
vội vàng

1
@Eve - bạn cũng có thể sử dụng :vsplitđể tạo phân tách dọc và như với :splitnó chấp nhận tên tệp hoặc lệnh
Vô dụng

1
Và like <C-w>h/ j / k / l sẽ di chuyển giữa các cửa sổ theo các hướng cụ thể, <C-w>H/ J / K / L (viết hoa) sẽ di chuyển cửa sổ theo hướng đó.
Izkata

13

Điều này có thể được thực hiện bằng cách sử dụng Emacs. Nó hoạt động trong GUI và trong chế độ đầu cuối. Bạn thậm chí có thể chia nhiều lần. Dưới đây là một số tổ hợp phím cơ bản:

Cx 2 Tách cửa sổ đã chọn thành hai cửa sổ, cửa sổ này nằm trên cửa sổ kia (cửa sổ tách bên dưới).
Cx 3 Chia cửa sổ đã chọn thành hai cửa sổ, được đặt cạnh nhau (cửa sổ tách sang phải).
C-Mouse-2 Trong dòng chế độ của một cửa sổ, hãy chia cửa sổ đó ra.

Nguồn: http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html


1
Đối với bất kỳ ai không quen thuộc với thuật ngữ Emacs , điều đáng chú ý là cửa sổ Emacs là thứ mà nhiều biên tập viên khác gọi là màn hình hoặc bảng điều khiển . Khung Emacs là cái mà người khác gọi là cửa sổ (nó được gọi là khung vì các cửa sổ bên trong nó được đóng khung bởi trang trí máy tính để bàn (thanh tiêu đề và viền) hoặc bởi thiết bị đầu cuối ... Windows chứa bộ đệm (một số văn bản; thường là tập tin).
Peter.O

1
@ Peter.O - Không chỉ dành cho những người không quen thuộc với Emacs ... Tôi đã sử dụng Emacs trong hơn 5 năm và sẽ không thể giải thích sự khác biệt. Tôi chỉ sử dụng nó.
jordanm

11

Với vim, bạn có thể sử dụng splithoặc vsplit.

Cái thứ nhất sẽ phân chia theo chiều ngang và cái thứ hai sẽ phân chia theo chiều dọc.

CTRLw sau đó để điều hướng qua các màn hình chia nhỏ.

Bạn cũng có thể sử dụng tab. tabnew filenamesẽ mở tên tệp trong một tab mới. Bạn có thể sử dụng tabnext:tabpreviousđể điều hướng giữa các tab.

Tôi cá nhân ánh xạ các mũi tên trái và phải để điều hướng giữa các tab:

map <right> :tabnext<CR>
map <left> :tabprevious<CR>
inoremap <right> <ESC>:tabnext<CR>a
inoremap <left> <ESC>:tabprevious<CR>a

1
Ngoài ra, trình cắm NERD_tree có thể được sử dụng để hiển thị cây thư mục trong một phần tách riêng. ( vim.org/scripts/script.php?script_id=1658 )
Bernhard

7

Kate

KDE Advanced Text Editor rất đặc trưng.
Nó có mọi thứ bạn mô tả trong câu hỏi và nhiều hơn nữa .

Xem cho chính mình:

Ảnh chụp màn hình

Để phân chia chế độ xem, hãy chuyển đến Chế độ xemChia nhỏ Chế độ xem . Sau đó, bạn có thể chọn một trong các tùy chọn sau:

  • Tách dọc ( Ctrl+ Shift+ L)
  • Chia chân trời ( Ctrl+ Shift+ T)
  • Đóng Chế độ xem hiện tại ( Ctrl+ Shift+ R)

Để có được bố cục như trên ảnh chụp màn hình này, Chia dọc , nhấp vào chế độ xem dưới cùng và sau đó Chia ngang .

Tất nhiên, ranh giới của các khung nhìn có thể được thay đổi bằng cách kéo các đường viền (bộ chia) giữa chúng. Để chuyển giữa các chế độ xem, sử dụng F8Shift+ F8.

Nhân tiện, Kate có cái gọi là Chế độ VI ( Cài đặt → Định cấu hình Kate SựChỉnh sửa → Chế độ nhập VI). Sau đó, các phím tắt để chia tách chế độ xem trở nên giống như trong Vim (xem câu trả lời này ).


7

joe( Biên tập viên riêng của Joe ) cũng có thể làm điều này:

ctrl+ ko- chia cửa sổ theo chiều ngang

ctrl+ kp- chuyển sang cửa sổ trước

ctrl+ kn- chuyển sang cửa sổ tiếp theo

ctrl+ ke- mở tệp mới trong cửa sổ hiện tại

ctrl+ kg- tăng chiều cao của cửa sổ hiện tại

ctrl+ kt- chiều cao thu hẹp của cửa sổ hiện tại

ctrl+ ki- ẩn tất cả các cửa sổ ngoại trừ cửa sổ hiện tại, nhấn lần nữa để hiển thị lại tất cả các cửa sổ

ctrl+ choặc ctrl+ kx- đóng cửa sổ



4

Nếu bạn quan tâm đến việc nắm bắt tốt hơn một chút với VIM, hãy xem vimcasts.org , nó có một loạt các hướng dẫn bằng video thực sự thân thiện. Điều này đặc biệt cho phép thuật chia màn hình

Thưởng thức!


Thật tuyệt, cảm ơn rất nhiều! Tôi sẽ làm điều này nhiều hơn, nhưng tôi chỉ cho phép một.
Đêm

2

Về cây tập tin, cá nhân tôi sử dụng NERDtree với Vim. Nó đòi hỏi mầm bệnh. Tôi thấy lệnh mở cây ( :NERDtree toggle, iirc) hơi dài, vì vậy tôi đã ánh xạ lại <F2>. Nếu bạn đang làm việc trên một dự án có nhiều tệp trong nhiều thư mục (nghĩ rằng các dự án Rails), thì nó thực sự tốt.

CHỈNH SỬA:

NERDtree có trên Github: https://github.com/scrooloose/nerdtree

Đây là cách ánh xạ lại mà tôi sử dụng trong .vimrc của mình: map <F2> :NERDTreeToggle<CR>


Cảm ơn, tôi có thể có câu hỏi khác về điều này. Những người tôi dự trữ cho một thời gian khác. ;)
Đêm

1

Tôi sử dụng tmuxvimđể chỉnh sửa chia màn hình trong một môi trường thiết bị đầu cuối dựa trên, mặc dù bạn có thể sử dụng bất kỳ dòng lệnh dựa soạn thảo văn bản cho điều này (ví dụ nano, emacsvv).

tmuxlà viết tắt của "bộ ghép kênh đầu cuối" và nó cho phép bạn tạo các phiên có nhiều thiết bị đầu cuối, chạy trong các "cửa sổ" riêng biệt và cả "panes" trong các cửa sổ này, đó là những gì cho phép bạn chia đôi màn hình. tmuxđược bao gồm trong kho của nhiều bản phân phối Linux và BSD. Tôi thấy đây là tùy chọn linh hoạt nhất để mã hóa, vì tôi cũng có thể thêm các phần tách và cửa sổ có chứa các thiết bị đầu cuối nơi tôi có thể biên dịch mã và sử dụng hệ thống kiểm soát phiên bản, như gitbên cạnh chỉnh sửa mã của tôi.

Dưới đây là một ví dụ về cách tôi sẽ tạo một phiên chỉnh sửa màn hình chia nhỏ bằng cách sử dụng tmuxvim.

Đầu tiên mở một thiết bị đầu cuối. Trong các lệnh dưới đây được viết sau khi $được ban hành từ dòng lệnh. Điều này sử dụng các ràng buộc khóa mặc định trong tmux.

  1. Bắt đầu một phiên tmux mới. Ở đây chúng tôi thực hiện một cái gọi là "mã hóa":

    $ tmux new -s coding

    tmux vừa mở

  2. Nhấn Ctrl+ btheo sau %để phân chia theo chiều dọc hoặc "phân chia theo chiều ngang.

    chia dọc

    chia ngang

  3. Bạn có thể di chuyển giữa các phần tách (hoặc tmuxtheo cách nói, "panes") bằng cách nhấn Ctrl+ btheo sau o.

  4. Bây giờ hãy mở trình soạn thảo văn bản với bất kỳ tệp nào bạn muốn chỉnh sửa trong mỗi khung. Ở đây tôi vừa mở hai tệp văn bản bằng cách sử dụng vim, vd

    $ vim file1.txt

    Chuyển panes: Ctrl+ btheo sau o.

    $ vim file2.txt

    chỉnh sửa hai tập tin cùng một lúc

tmuxcực kỳ tiên tiến, cho phép nhiều bảng trong một cửa sổ được sắp xếp theo nhiều cách khác nhau và vimcho phép bạn mở nhiều tệp văn bản cùng một lúc trong các tab. Tôi có xu hướng sử dụng cả tab vimvà in panes tmuxđể cho phép tôi chỉnh sửa, kiểm soát phiên bản và mã gỡ lỗi đồng thời. Nếu bạn có thời gian để đầu tư vào việc học các phím tắt và các tính năng của tmuxnó có thể là một môi trường phát triển rất mạnh mẽ.

Một tmuxbảng cheat để bắt đầu: màn hình ban ngày và bảng cheat tmux

Hướng dẫn về các tab trong vim: Mẹo Vim: Sử dụng tab


0

Cá nhân tôi sẽ sử dụng màn hình hoặc tmux. cả hai đều cho phép bạn mở nhiều bảng điều khiển mặc dù tôi nghĩ rằng tmux tốt hơn trong việc phục hồi phiên đa bảng so với màn hình. bạn cũng nhận được thêm lợi ích của việc có thể đính kèm vào phiên nếu bạn ngắt kết nối với phiên máy tính để bàn cục bộ và sau đó SSH. Bạn thậm chí có khả năng chia sẻ phiên với người dùng khác để cộng tác.


Đây là một downvote bởi vì bạn không sử dụng ca
peterh nói rằng phục hồi Monica

0

Bên cạnh vim, emacsjoebiên tập viên, đây là một số những người khác terminal (tty) / x-terminal emulator biên tập viên, có thể hiển thị ít nhất hai tập tin cùng một lúc. Có thể không phải là con dao quân đội Thụy Sĩ dễ thương nhất nhưng đường cong học tập dường như không quá dốc trong mọi trường hợp:

1) mcedit

Là một phần của Midnight Commander (trình quản lý tệp ở chế độ văn bản, cài đặt nó apt-get install mctrong các bản phát hành dựa trên Debian).

mcedit

2) wpe \ xwpe

Có sẵn apt-get install xwpetrong các bản phát hành Dedbian. Tuy nhiên, dường như đó là một bảo vệ dừng lại.

xwpe

3) nfte

eFTE cũng có sẵn thông qua apt-get install efte.

efte

Mặt khác, đối với cửa sổ X cũng có một số công cụ "diff" GUI có thể hữu ích cho mục đích này. Trong Linux Mint của tôi, tôi có ít nhất hai:

4) xxdiff

Một ứng dụng dựa trên Qt ( apt-get install xxdiff)

xxdiff

Không được thử nghiệm và không hiển thị, nhưng tồn tại cũng Fldiffsử dụng Bộ công cụ ánh sáng nhanh (FLTK) nhưng được truyền cảm hứng một phần xxdiff. Ngoài ra trong kho chính thức ( apt-get install fldiffvà bạn có thể tự kiểm tra nó). Áp dụng tương tự cho mgdiff.

5) kdiff3

Một ứng dụng KDE tương tự ( apt-get install kdiff3).

kdiff3


0

Bạn có thể sử dụng trình soạn thảo văn bản nguyên tử của github. Nó đi kèm với chức năng chia màn hình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.