2014-12-06 1 views
4

Что такое синтаксис keybinds.settings? Я пользователь ВИМ, и я бы в конечном счете, хотел бы:Что такое синтаксис keybinds.settings?

  • связывают сдвиг-J, чтобы перейти вниз 8 линий (nnoremap J 8j)
  • же с к (nnoremak J 8k)
  • использования, как «лидера», т. е. я хотел бы привязать «, b» к «build» и, возможно, «g» для запуска «ghci file-name» в терминале.

ответ

4

keybinding.settings файл работает только для команд Cloud9 на данный момент, для настройки Vim команд вам придется использовать сценарий инициализации (см Open Your Init Script itemCloud9 в меню)

Вы можете использовать следующий фрагмент

require(["plugins/c9.ide.ace.keymaps/vim/keymap"], function(vim) { 
    var defaultKeymap = vim.aceKeyboardHandler.defaultKeymap; 
    function ideCommand() { services.commands.exec(this.name); } 
    function map(keys, action, context) { 
     var mapping; 
     if (!action) { 
      return defaultKeymap.forEach(function(x) { 
       if (x.keys == keys) { 
        x.defaultKeys = keys; 
        x.keys = ""; 
       } 
      }); 
     } else if (/^c9:/.test(action)) { 
      var commandName = action.substr(3); 
      mapping = { 
       keys: keys, type: "action", action: "aceCommand", 
       actionArgs: { exec: ideCommand, name: commandName } 
      }; 
     } else { 
      mapping = { keys: keys, type: "keyToKey", toKeys: action }; 
     } 

     if (context) 
      mapping.context = context; 
     mapping.user = true; 
     defaultKeymap.unshift(mapping); 
    } 
    map("J", "8j", "normal"); 
    map("K", "8k", "normal"); 
    map(",", ""); // remove default mapping of , 
    map(",b", "c9:build", "normal"); 
    map(",g", "c9:run", "normal"); 
}); 

Обратите внимание, что для ,g вам необходимо создать ghci бегун, см. https://docs.c9.io/custom_runners.html для деталей.

+0

Это действительно круто! Спасибо огромное! –