vim-scripts / camelcasemotion Goto Github PK
View Code? Open in Web Editor NEWMotion through CamelCaseWords and underscore_notation.
Home Page: http://www.vim.org/scripts/script.php?script_id=1905
Motion through CamelCaseWords and underscore_notation.
Home Page: http://www.vim.org/scripts/script.php?script_id=1905
This is a mirror of http://www.vim.org/scripts/script.php?script_id=1905 DESCRIPTION Vim provides many built-in motions, e.g. to move to the next word, or end of the current word. Most programming languages use either CamelCase ("anIdentifier") or underscore_notation ("an_identifier") naming conventions for identifiers. The best way to navigate inside those identifiers using Vim built-in motions is the [count]f{char} motion, i.e. f{uppercase-char} or f_, respectively. But we can make this easier: This plugin defines motions ',w', ',b' and ',e' (similar to 'w', 'b', 'e'), which do not move word-wise (forward/backward), but Camel-wise; i.e. to word boundaries and uppercase letters. The motions also work on underscore notation, where words are delimited by underscore ('_') characters. From here on, both CamelCase and underscore_notation entities are referred to as "words" (in double quotes). Just like with the regular motions, a [count] can be prepended to move over multiple "words" at once. Outside of "words" (e.g. in non-keyword characters like // or ;), the new motions move just like the regular motions. Vim provides a built-in 'iw' text object called 'inner word', which works in operator-pending and visual mode. Analog to that, this plugin defines inner "word" motions 'i,w', 'i,b' and 'i,e', which select the "word" (or multiple "words" if a [count] is given) where the cursor is located. USAGE Use the new motions',w',',b' and ',e' in normal mode, operator-pending mode (cp. :help operator), and visual mode. For example, type 'bc,w' to change 'Camel' in 'CamelCase' to something else. EXAMPLE: motions Given the following CamelCase identifiers in a source code fragment: set Script31337PathAndNameWithoutExtension11=%~dpn0 set Script31337PathANDNameWITHOUTExtension11=%~dpn0 and the corresponding identifiers in underscore_notation: set script_31337_path_and_name_without_extension_11=%~dpn0 set SCRIPT_31337_PATH_AND_NAME_WITHOUT_EXTENSION_11=%~dpn0 ,w moves to ([x] is cursor position): [s]et, [s]cript, [3]1337, [p]ath, [a]nd, [n]ame, [w]ithout, [e]xtension, [1]1, [d]pn0, dpn[0], [s]et ,b moves to: [d]pn0, [1]1, [e]xtension, [w]ithout, ... ,e moves to: se[t], scrip[t], 3133[7], pat[h], an[d], nam[e], withou[t], extensio[n], 1[1], dpn[0] EXAMPLE: inner motions Given the following identifier, with the cursor positioned at [x]: script_31337_path_and_na[m]e_without_extension_11 v3i,w selects script_31337_path_and_[name_without_extension_]11 v3i,b selects script_31337_[path_and_name]_without_extension_11 v3i,e selects script_31337_path_and_[name_without_extension]_11 Instead of visual mode, you can also use c3i,w to change, d3i,w to delete, gU3i,w to upper-case, and so on. Source: Based on http://vim.wikia.com/wiki/Moving_through_camel_case_words by Anthony Van Ham.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.