1. Code snippets
Developers often do repetitive work.
The additions, deletions, modifications and queries for different data tables are almost the same, and they are repeated over and over again. I haven’t written programs for a long time. I used the National Day holiday to read books and write programs at home.
I have been enjoying using Sublime Text recently and found that its code snippet management function is good. As long as you enter a pre-defined phrase, large code snippets can be automatically filled in. Variables can also be defined.
Such as PHP code. You can use ${0} to define each parameter, and so on. If you want to keep the $ symbol in your code snippet, just add it in front of $. Such as: $data
The setting steps are as follows:
1, select Tools-》New Snippet
This will create an empty snippet template. As follows:
snippet>content>
content>snippet>
Put your code in the middle of [ ]
. Use ${} to rewrite which keyword you want to replace. The number in the middle is the order of the cursor. Press the TAB key to switch.
tabTrigger: for the keyword entered in the editor, and then press the TAB key
scope: for where it will work in the class source program, of course it does not need to be set
description: for the prompt information
After writing, save it. Remember to save it with the .sublime-snippet extension. If you open an existing one, you can find it in the user directory through Preferences - "Browse Packages." Please note that I am using a MAC notebook. I don’t know where it is under the Windows system. I have never used this software under Windows.
The following is a small template I wrote:
snippet>
content>
error('This record does not exist!');
}
$result = M('${2:tabelname}')->where(array('${1}'=>$${1}))->delete();
$this->message($result,'__URL__/index','Deletion successful!','Deletion failed!');
}
]]>
content> tabTrigger>tpdel
tabTrigger> description>ThinkPHP - del() delete a data method
description>snippet>
It’s easy to use Sublime Text 3, but it’s not convenient to debug when writing PHP programs. It’s better to use PhpStorm when writing PHP programs. I use PhpStorm6. After going through the above situation, I wonder if this can also be done under PhpStorm. After research, I found that this development tool can also be used, which is really cool. Tip: Just command + J in the editor to get a prompt. Under windows it should be ctrl + J.
Usage is:
There is a Live Templates setting item in Preferences. There are many examples there, you can try it. The editing method of the template is similar to the Sublime Text above. It's just that there is no need for escaping here.
If you want to keep the $ symbol in the template, just enter $$. It also supports setting default values of parameters and automatic formatting after output.
Make good use of development tools, and development efficiency will be greatly improved.
来源: >
二、在线安装插件
ctrl+` or
sublime text 3
import urllib.request,os,hashlib; h =
'7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf =
'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen(
'http://sublime.wbond.net/' + pf.replace(
' ',
'%20')).read(); dh = hashlib.sha256(by).hexdigest(); print(
'Error validating download (got %s instead of %s), please try manual install' % (dh, h))
if dh != h
else open(os.path.join( ipp, pf),
'wb' ).write(by)
sublime text 2
1
|
import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0' ; pf = 'Package Control.sublime-package' ; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None ; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://sublime.wbond.net/' + pf.replace( ' ' , '%20' )).read(); dh = hashlib.sha256(by).hexdigest(); open ( os.path.join( ipp, pf), 'wb' ).write(by) if dh = = h else None ; print ( 'Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh ! = h else 'Please restart Sublime Text to finish installation' )
|
Source: >
3. Set your own style
Sublime Text 3 configuration explanation (default)
{
// Set theme file
"color_scheme": "Packages/Color Scheme – Default/Monokai.tmTheme",
// Set font and size
"font_face": "Consolas",
"font_size": 12,
// Font option: no_bold does not display bold Words, no_italic does not display italics, no_antialias and no_antialias turn off anti-aliasing
// subpixel_antialias and no_round are unique to OS X systems
"font_options": [],
// Double-click on the text to display all Select the current content. If the following characters appear in it, it will be truncated
"word_separators": "./\()"'-:,.;~!@#$%^&*|+ =[]{}`~?",
// Whether to display line numbers
"line_numbers": true,
// Whether to display line number sidebar
"gutter": true,
// The spacing between the line number sidebar and the text
"margin": 4,
// Whether to display the code fold button
"fold_buttons": true,
// Regardless of whether the mouse is on the line number sidebar or not, The code fold button is always displayed
"fade_fold_buttons": true,
//The column displays a vertical ruler, fill in the numbers in the square brackets, and the width is calculated in characters
"rulers": [],
/ / Whether to turn on spell check
"spell_check": false,
// Tab key tab width
"tab_size": 4,
// When set to true, indent and encounter Tab Use spaces instead of keys
"translate_tabs_to_spaces": false,
// Otherwise it works on a single space
"use_tab_stops": true,
"detect_indentation": true,
// Press Enter When, automatically align with the tab stop
"auto_indent": true,
//For C language
"smart_indent": false,
//You need to enable auto_indent, open the bracket indentation for the first time Insert spaces when entering? (The effect has not been tested...)
"indent_to_bracket": true,
// Whether the white lines displayed are automatically filled according to carriage return, tab and other operations
"trim_automatic_white_space": true,
// Whether to automatically wrap lines, if you select auto, you need to add double quotes
"word_wrap": false,
// Set the width of the text area in the window
"wrap_width": 0,
// Prevent words that are indented to the same level from wrapping.
"indent_subsequent_lines": true,
// If it is not defined, the file will be displayed in the center (such as a new file)
"draw_centered": false,
// Automatically match quotes, brackets, etc.
"auto_match_enabled": true,
// Word list path for spell checker
"dictionary": "Packages/Language – English/en_US.dic",
// Whether to add a border to the visible area of the code map. The color of the border can be added to the color scheme by adding the minimapBorder key
"draw_minimap_border": false,
// Highlight the line where the current cursor is located
"highlight_line": false,
//Set the cursor flashing mode
"caret_style": "smooth",
//Whether to specially display the parentheses where the current cursor is located, and the code head and tail closing marks
"match_brackets": true,
// When set to false, match_brackets will only take effect when the cursor is at both ends of the brackets or closing tags
"match_brackets_content": true,
// Whether to highlight Display parentheses, effective when match_brackets is true
"match_brackets_square": false,
// Whether to highlight braces, effective when match_brackets is true
"match_brackets_braces": false,
// Whether to highlight sharp brackets Brackets, match_brackets is effective when true
"match_brackets_angle": false,
// Under html and xml, highlight both ends of the tag where the cursor is, affecting HTML, XML, CSS, etc.
"match_tags": true,
// Highlight characters that are the same as the currently selected character in the full text
"match_selection": true,
// Set each line to the top, the spacing in pixels, the effect is equivalent to line spacing
"line_padding_top ": 1,
// Set the spacing in pixels from each line to the bottom, the effect is equivalent to line spacing
"line_padding_bottom": 1,
// When set to false, scroll to the end of the text below, there is no buffer
"scroll_past_end": true,
// Controls what happens when going up or down to the first or last row
"move_to_limit_on_up_down": false,
// Press When space or tab is used, white dots (one space and one dot) or white horizontal lines (the width of the tab character set by tab_size) will actually be generated, which can only be seen when it is selected
// When set to none, what These points and lines are not displayed in any case
// When set to selection, only the points and lines in the selected state will be displayed
// When set to all, it will always be displayed
"draw_white_space": "selection",
// Alignment of tab stops Whether the white line is displayed, the color can be set in the theme file (guide, activeGuide, stackGuide)
"draw_indent_guides": true,
// Alignment of the white line at the tab stop, draw_normal means always display, draw_active means only display The code control domain where the current cursor is located
"indent_guide_options": ["draw_normal"],
// When it is true, the extra spaces after the end of each line will be deleted when saving the file
"trim_trailing_white_space_on_save": false,
// When it is true, the cursor will move down one line at the end of the file when saving the file
"ensure_newline_at_eof_on_save": false,
// Switch to other file tags or click on other non-software areas, files Auto-save
"save_on_focus_lost": false,
// When encoding cannot be automatically detected, ASCII, UTF-8 and UTF-16 will be automatically detected
"fallback_encoding": "Western (Windows 1252)" ,
//Default encoding format
“default_encoding”: “UTF-8″,
// Files containing null bytes are opened in hexadecimal by default
“enable_hexadecimal_encoding”: true,
// What character is used as the terminator at the end of each line?
"default_line_ending": "system",
// When set to enabled, pressing Tab between a string will insert a tab character
// When set to true, pressing Tab will automatically match and fill the code according to the surrounding environment
"tab_completion": true,
// Code prompt
"auto_complete": true,
/ / Code prompt size limit
"auto_complete_size_limit": 4194304,
// Code prompt delay display
"auto_complete_delay": 50,
// Control range of code prompt
"auto_complete_selector": "source – comment",
//Other situations that trigger code prompts
"auto_complete_triggers": [ {"selector": "text.html", "characters": " // When set to false, select the prompted code and press Enter or click to output it, but when true is selected, it will not be output but will be directly wrapped in a new line
"auto_complete_commit_on_tab": false,
// Set to false, use Shift + tab always inserts tab characters
"shift_tab_unindent": true,
// When the selected text is pressed Ctrl + f, it will be automatically copied to the text box of the find panel
"find_selected_text": true,
// DataPackagesTheme – DefaultDefault.sublime-theme controls the theme of the software
"theme": "Default.sublime-theme",
// Scroll speed
"scroll_speed": 1.0,
// Left sidebar folder animation
"tree_animation_enabled": true,
// Tab close button
"show_tab_close_buttons": true,
// For OS X
"use_simple_full_screen" : false,
// Horizontal and vertical scroll bars: system and disabled are the default display modes, and enabled is automatically hidden and displayed
"overlay_scroll_bars": "system",
// Hot launch function! When exiting, you will not be prompted whether to save the file, but will exit directly
//The next time you open the software, the file will remain in the state before exiting. The content that was not saved in time is still there, but it is not actually written in the original file
"hot_exit": true,
// The software uses the last settings to open the file. When hot_exit is true, it has no effect
"remember_open_files": true,
//For OS X
"open_files_in_new_window" : true,
// For OS , ".hg", "CVS"],
"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj"," *.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*. pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db"],
// Goto Anything or Find in Files
"binary_file_patterns" : ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
// Delete the plug-ins you want to ignore, you need to restart, remove Vinage and enable it vim mode
"ignored_packages": ["Vintage"]
}
My Configuration
:
{
“default_encoding”: “UTF-8″,
"auto_complete_commit_on_tab": false,
"auto_complete_delay": 0,
"auto_complete_with_fields": true,
"auto_indent": true,
"auto_match_enabled": true,
"bold_folder_labels": true,
"caret_style": "wide",
"color_scheme": "Packages/Color Scheme - Default/Monokai Bright.tmTheme",
"fade_fold_buttons": false,
"fold_buttons": true,
"font_face": "Consolas",
"font_options":[],
"font_size": 13,
"highlight_line": true,
"hot_exit": false,
"ignored_packages":[],
"match_brackets_angle": true,
"match_brackets_content": true,
"match_tags": true,
"remember_open_files": false,
"smart_indent": true,
"tab_size": 4,
"word_wrap": "false"
}
快捷键:
[
{ "keys": ["ctrl+["], "command": "exit_insert_mode"},
{ "keys": ["ctrl+h"], "command": "left_delete"},
{ "keys": ["alt+h"], "command": "move", "args": {"by": "characters", "forward": false} },
{ "keys": ["alt+l"], "command": "move", "args": {"by": "characters", "forward": true} },
{ "keys": ["alt+k"], "command": "move", "args": {"by": "lines", "forward": false} },
{ "keys": ["alt+j"], "command": "move", "args": {"by": "lines", "forward": true} },
{ "keys": ["ctrl+j"], "command": "insert", "args": {"characters": "n"} },
{ "keys": ["ctrl+i"], "command": "auto_complete" },
{ "keys": ["ctrl+i"], "command": "replace_completion_with_auto_complete", "context":
[
{ "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false },
{ "key": "setting.tab_completion", "operator": "equal", "operand": true }
]
}
{ "keys": ["ctrl+d"], "command": "right_delete" },
{ "keys": ["alt+s"], "command": "save" },
]
Source: >
4. Shortcut keys
Ctrl+D word selection (repeatedly press the shortcut key to continue down and select the next same text for simultaneous editing)
Ctrl+G Jump to the corresponding lineCtrl+J Merge lines (when multiple lines to be merged have been selected)Ctrl+L Select the entire Line (hold - continue to select the next line) Ctrl+M Move the cursor to the beginning or end of the bracketsCtrl+T Word swapCtrl+U soft undoCtrl+P to find files in the current project and quick search; enter @ to find the main title/function of the file; or enter: to jump to a certain line of the file ;Ctrl+R Quickly list/jump to a functionCtrl+K Backspace Delete from the cursor to the beginning of the lineCtrl+K+B Open/Close the sidebarCtrl+KK Delete from the cursor to the end of the lineCtrl+K+T Collapse attributeCtrl+K+U changes to uppercaseCtrl+K+L changes to lowercaseCtrl+K+0 expand allCtrl+Enter After inserting a line (quick line wrap)Ctrl+Tab Switch tabs in the current windowCtrl+Shift+A selects the parent tag pair at the cursor positionCtrl+Shift+D copies the entire line where the cursor is and inserts it before the linectrl+shift +F Search within a folder. The difference from ordinary editors is that sublime allows adding multiple folders to search Ctrl+Shift+K to delete the entire lineCtrl+Shift+L Select multiple lines with the mouse (press the shortcut key), and you can edit these lines at the same time Ctrl+Shift+M Select the content within the brackets (press and hold - to continue selecting the parent brackets )Ctrl+Shift+P Open the command panelCtrl+Shift+/ Annotate the selected contentCtrl+Shift+↑ can be moved This line of code, interchange with the up line Ctrl+Shift+↓You can move this line of code, interchange with the down lineCtrl+Shift+[Collapse codeCtrl+Shift+] Expand codeCtrl+Shift+Enter Insert line before cursorCtrl+PageDown, Ctrl+ PageUp files are switched in the order they were opened Ctrl+Z UndoCtrl+Y Undo Ctrl+F2 Set/cancel bookmarksCtrl+/ Comment the entire line (if the content is selected, the same effect as "Ctrl+Shift+/")Ctrl+left mouse button can Select multiple texts to be edited at the same time Shift+right mouse button (or use the middle mouse button) can use the mouse to select vertical multiple lines Shift+F2 Previous bookmarkShift+Tab remove indentAlt+Shift+1 (non-keyboard) window split screen, restore the default 1 screenAlt+Shift+2 Left and right split screen-2 columnsAlt+Shift+3 Left and right split screen-3 columnsAlt+ Shift+4 Split screen left and right - 4 columns Alt+Shift+5 Divide 4 screens equallyAlt+Shift+8 Split screen vertically - 2 screens Alt+Shift+9 vertical split screen - 3 screensCtrl+Shift+split screen number assigns the current focus page to the split screen number pageAlt+. Close the current labelAlt+F3 Select the text and press the shortcut key to select all the same text at once for editing simultaneouslyTab indent auto-completeF2 Next bookmarkF6 Detect syntax errorsF9 row sorting (press a-z)F11 full screen mode
http://www.bkjia.com/PHPjc/733035.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/733035.htmlTechArticle1. Code snippets Developers often do repetitive work. The additions, deletions, modifications and queries for different data tables are similar, and they are repeated over and over again. I haven’t written a program for a long time, so I used ten...