SublimeText-Markdown / MarkdownEditing

Powerful Markdown package for Sublime Text with better syntax understanding and good color schemes.
MIT License
3.19k stars 647 forks source link

Bold shortcut conflicts with Mac OS backward key binding #116

Closed zaopuppy closed 9 years ago

zaopuppy commented 10 years ago

In Max OS, ctrl-b is a global key binding for moving cursor backward. Is it possible to change it to other key combination?

maliayas commented 10 years ago

Hmm. It is possible but if I redefine a different keybinding for OSX, I have to duplicate this much code. That is terrible for maintaining them.

I thought ctrl+b and ctrl+i are common keybindings for bold/italic across different applications. What is a typical keybinding for bold/italic in OSX? Is there any?

Editing keybindings always breaks somebody else's workflow. Maybe I should start a keybinding questionnaire for common features.

zaopuppy commented 10 years ago

On Max OS, most shortcuts start with CMD instead of Ctrl, TextEdit and Microsoft Office Word use CMD-B, but CMD-B in Sublime Text is defined for building...

It's possible only enable it in MD mode? If it is, I suggest to use CMD-B and only enable it in MD mode.

maliayas commented 10 years ago

Current ctrl b/i is enabled only in md files. I'll think your suggestion.

zaopuppy commented 10 years ago

Thanks.

But actually Ctrl-B is not only enabled in MD files. I can use it in C++ file, at least on my Mac, so I have to comment it from Default.sublime-keymap.

P.S. In the latest version, Ctrl-B won't add '_' around text, but it do will disable system key binding

maliayas commented 10 years ago

Ctrl B must be doing the default job (building) on C++ files. This plugin affects only md files. Am I wrong?

P.S. In the latest version, Ctrl-B won't add '_' around text, but it do will disable system key binding

There seems to be a bug in this. Can you check what the console outputs when you press Ctrl+B?

zaopuppy commented 10 years ago

Sorry for reporting late. When I press Ctrl+B, there's no new output in console. here is all I get from I start it up:

startup, version: 2221 osx x64 channel: stable executable: /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2 working dir: / packages path: /Users/zero/Library/Application Support/Sublime Text 2/Packages settings path: /Users/zero/Library/Application Support/Sublime Text 2/Settings PackageSetup not required catalogue loaded found 8 files for base name Default.sublime-keymap found 2 files for base name Default.sublime-mousemap found 6 files for base name Main.sublime-menu Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/CSS/css_completions.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/comment.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/copy_path.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/delete_word.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/detect_indentation.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/duplicate_line.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/echo.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/exec.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/fold.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/font.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/goto_line.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/indentation.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/kill_ring.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/mark.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/new_templates.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/open_file_settings.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/open_in_browser.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/paragraph.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/save_on_focus_lost.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/scroll.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/set_unsaved_view_name.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/side_bar.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/sort.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/swap_line.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/switch_file.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/transform.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/transpose.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Default/trim_trailing_white_space.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Diff/diff.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/HTML/encode_html_entities.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/HTML/html_completions.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/MarkdownPreview.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/abbr.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/admonition.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/attr_list.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/codehilite.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/def_list.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/extra.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/fenced_code.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/footnotes.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/headerid.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/meta.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/nl2br.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/sane_lists.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/smart_strong.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/tables.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/toc.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/wikilinks.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/helper.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/abbr.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/admonition.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/attr_list.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/codehilite.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/def_list.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/extra.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/fenced_code.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/footnotes.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/headerid.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/meta.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/nl2br.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/sane_lists.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/smart_strong.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/tables.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/toc.py Reloading plugin extension /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown/extensions/wikilinks.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Markdown Preview/markdown2.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/bootstrap.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/custom_find_under_expand.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/distraction_free_mode.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/footnotes.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/gather_missing_links.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/insert_references.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/jumpToMarker.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/list_markdown_references.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/numbered_list.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/paste_as_link.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/paste_as_reference.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/quote_indenting.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/underlined_headers.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/Package Control/Package Control.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeClang/common.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeClang/errormarkers.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeClang/staticanalyzer.py Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeClang/sublimeclang.py Have SublimeClang package: 1.0.41 Have SublimeClang libcache: 1.0.41 Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeClang/translationunitcache.py Have SublimeClang package: 1.0.41 Have SublimeClang libcache: 1.0.41 Reloading plugin /Users/zero/Library/Application Support/Sublime Text 2/Packages/SublimeCodeIntel/SublimeCodeIntel.py plugin init time: 0.233992 loading bindings loading pointer bindings found 1 files for base name Default.sublime-theme theme loaded app ready pre session restore time: 0.371122 using gamma: 2 (err: 6.9282) No handlers could be found for logger "process" wrote startup cache, added files: 1 orphaned files: 0 total files: 110 cache hits: 109 startup time: 0.797633 (package setup was not run) loaded 842 snippets Package Control: Skipping automatic upgrade, last run at 2013-12-07 11:02:09, next run at 2013-12-07 12:02:09 or after

maliayas commented 10 years ago

Another plugin might redefine ctrl b. To see if that is the case, you should run this command in the console:

sublime.log_commands(True)

and then see what it outputs when you press ctrl b. If you post that output here, I can try to help.

zaopuppy commented 10 years ago

Thanks. Here is what I got, I used Ctrl+B in a C++ file:

command: move {"by": "lines", "forward": false}
command: move {"by": "lines", "forward": false}
command: move {"by": "lines", "forward": false}
command: move {"by": "lines", "forward": false}
command: move_to {"to": "hardeol"}
command: run_macro_file {"file": "Packages/MarkdownEditing/macros/Transform Word - Bold.sublime-macro"}
command: drag_select {"event": {"button": 1, "x": 868.640625, "y": 1313.15234375}}
command: drag_select {"event": {"button": 1, "x": 333.0, "y": 1307.1875}}
command: drag_select {"event": {"button": 1, "x": 840.63671875, "y": 1276.3359375}}
maliayas commented 10 years ago

Hmm, it seems correct. Bold macro triggers and there is no error output. But you say nothing becomes bold.

It made me think the problem might be with ST2 but it works in my ST2. I've two final questions:

zaopuppy commented 10 years ago
  1. No, nothing has been inserted, not even the "unsaved" mark
  2. No, nothing was changed, but ST2 gave the "unsaved" mark

In previous updates, they do make text bold/italic by insert "*" and "_", but not in current version.

maliayas commented 10 years ago

Hmm, I don't know what to do next. Let's keep the bug open for some time.

In previous updates, they do make text bold/italic by insert "*" and "_", but not in current version.

This is expected. Bolding without selecting text was not implemented in the previous versions.

zaopuppy commented 10 years ago

OK, current I can just comment Ctrl-B part.

felixhao28 commented 9 years ago

This issue is already fixed in 7e28ad2fb777692f28e20197595e7479a53fd011, right?

maliayas commented 9 years ago

Keymap conflict is fixed. But @zaopuppy was saying the functionality wasn't working for him. Not sure if that's fixed.

ruvido commented 9 years ago

same here using ST3 cannot have Ctrl-B or Ctrl-I to work ...

zaopuppy commented 9 years ago

Hi.

I haven't seem this issue after one update (I can't remember which one).

I'll close this issue if there's no more feedback.