Gần đây tôi đã chuyển sang sử dụng máy Mac tại nơi làm việc trước đây bằng Linux. Tôi đã tìm hiểu về MacVim (từ http://code.google.com/p/macvim/) và đã cố gắng chuyển qua các lần bấm phím trước đó của tôi.Một số ánh xạ chính không hoạt động trong MacVim
Các ánh xạ Tôi đã từng có như sau:
- Ctrl-T: tab mới
- Ctrl-W: Đóng tab/cửa sổ
- Ctrl-1. .. Ctrl-0: Chuyển sang tab được đánh số
- Alt-Up: tab mới (giống như Ctrl-T)
- Alt-Left/Alt-Right: Chuyển sang trước/sau tab
- Ctrl-Alt-E: Mở FuzzyFinder trong tập tin chế độ
- Ctrl-Alt-B: mở FuzzyFinder trong chế độ đệm
- Ctrl-Alt-W: Xóa dấu khoảng trắng từ bộ đệm
Bây giờ, để làm cho các ánh xạ này giống như 'Mac như', tôi quyết định chuyển đổi hai thứ nhất để sử dụng tùy chọn (ví dụ: Logo Apple) và tất cả những người khác sử dụng phím lệnh thay vì Alt (ví dụ: Ctrl-Alt-E trở thành Ctrl-Command-E). Tôi đọc trên http://macvim.org/OSX/index.php rằng khóa này có thể được ánh xạ với D (nghĩa là). Nội dung mới của vimrc của tôi là như sau:
nmap <D-t> :tabnew<cr>
nmap <D-w> :close<cr>
nmap <D-1> 1gt
nmap <D-2> 2gt
nmap <D-3> 3gt
nmap <D-4> 4gt
nmap <D-5> 5gt
nmap <D-6> 6gt
nmap <D-7> 7gt
nmap <D-8> 8gt
nmap <D-9> 9gt
nmap <D-0> 10gt
nmap <D-Up> :tabnew<CR>
nmap <D-Right> :tabnext<CR>
nmap <D-Left> :tabprevious<CR>
"FuzzyFinder
nmap <C-D-e> :FufFileWithFullCwd<CR>
nmap <C-D-b> :FufBuffer<CR>
"Whitespace remover
nmap <C-D-w> :%s/\s\+$//<CR>
Vì vậy, sau khi tái lập bản đồ các phím, một số giờ làm việc và những người khác không, không có logic rõ ràng là tại sao.
gì hoạt động:
- Cmd-T và Cmd-W làm việc thành công cho mở và đóng các tab.
- Cmd-1 ... Cmd-0 hoạt động thành công để chuyển đổi tab.
gì không hoạt động:
- Cmd-Up để mở một tab không hoạt động.
- Cmd-Left và Cmd-Right cho các tab chuyển đổi không hoạt động.
- Ctrl-Cmd-E và Ctrl-Cmd-B để mở FuzzyFinder không hoạt động.
- Ctrl-Cmd-W cho thanh toán bù trừ khoảng trắng không hoạt động (nhưng không phải nó đóng tab, vì nó sẽ không ctrl.
bạn có thể chấp nhận câu trả lời của riêng mình nếu bạn tự tìm ra giải pháp. ;) – sjas
Có [lý do] (http://learnvimscriptthehardway.stevelosh.com/chapters/05.html) để luôn sử dụng '* nore (map | abbrev)' (ví dụ: 'nnoremap') và không bao giờ' nmap'. – ZyX
Cảm ơn ZyX vì lời khuyên. Tôi nghĩ rằng tôi sẽ đọc toàn bộ 'Tìm hiểu Vim Script the Way cứng' khi tôi có cơ hội! –