Compare commits

...

17 Commits

Author SHA1 Message Date
Kyle
7e35c8d586 Merge 9aff63b0c6 into 8557d4f3d8 2023-07-15 14:12:51 +08:00
Julien Le Coupanec
8557d4f3d8 Merge pull request #337 from phaneendra24/adding-js-arrayMethod
adding the at() method
2023-07-11 12:20:48 +02:00
phaneendra
f8d75a7ccf adding the at method 2023-07-07 16:49:20 +05:30
Julien Le Coupanec
5ff48033e1 Merge pull request #304 from sangeethkc/master
new laravel artisan commands added
2023-06-26 22:00:00 +02:00
SANGEETH
6c3b6ee90e Merge branch 'LeCoupa:master' into master 2023-06-26 15:24:39 +05:30
Julien Le Coupanec
7e9e6af408 Merge pull request #334 from samyak003/master
Added cheatsheet for Firebase CLI
2023-06-19 12:59:07 +02:00
Samyak
0ee3753e2f Added cheatsheet for Firebase CLI 2023-06-18 19:58:27 +05:30
sangeethkc
cb9ca87a4b new laravel commands added 2022-10-18 15:27:14 +05:30
Kyle
9aff63b0c6 add: more object information
Co-authored-by: kang <1115610574@qq.com>
2022-04-25 11:07:06 +03:00
Kyle
0df0039c24 add: more object information
Co-authored-by: kang <1115610574@qq.com>
2022-04-25 11:06:50 +03:00
Kyle
ac5f80ba6a add: easier to understand information
Co-authored-by: kang <1115610574@qq.com>
2022-04-25 11:06:42 +03:00
Kyle
c78705668f add: more object information
Co-authored-by: kang <1115610574@qq.com>
2022-04-25 11:06:23 +03:00
Kyle
a75468bc99 fix: alignment
Co-authored-by: kang <1115610574@qq.com>
2022-04-25 11:05:35 +03:00
Kyle
a6eb4655e6 remove: plugins/non-default vim sections 2022-04-22 19:01:40 +03:00
Kyle
e62933b853 change: make section placement more sensible 2022-04-22 18:58:12 +03:00
Kyle
5ecb19d8fd add: various new commands 2022-04-22 18:54:49 +03:00
Kyle
ff90fbfe64 remove: wrong/opinionated vimrc information 2022-04-22 17:47:00 +03:00
5 changed files with 348 additions and 479 deletions

View File

@@ -124,6 +124,7 @@ Feel free to take a look. You might learn new things. They have been designed to
- [Nginx](tools/nginx.sh) - [Nginx](tools/nginx.sh)
- [PM2](tools/pm2.sh) - [PM2](tools/pm2.sh)
- [Ubuntu](tools/ubuntu.sh) - [Ubuntu](tools/ubuntu.sh)
- [Firebase CLI](tools/firebase_cli.md)
</details> </details>
## 🙌🏼 How to Contribute? ## 🙌🏼 How to Contribute?

View File

@@ -8,6 +8,8 @@
// MAIN. // MAIN.
php artisan clear-compiled // Remove the compiled class file php artisan clear-compiled // Remove the compiled class file
php artisan db // Start a new database CLI session
php artisan docs // Access the Laravel documentation
php artisan down // Put the application into maintenance mode php artisan down // Put the application into maintenance mode
php artisan dump-server // Start the dump server to collect dump information. php artisan dump-server // Start the dump server to collect dump information.
php artisan env // Display the current framework environment php artisan env // Display the current framework environment
@@ -43,6 +45,9 @@ php artisan config:clear // Remove the configuration cache file
// DB // DB
php artisan db:seed // Seed the database with records php artisan db:seed // Seed the database with records
php artisan db:show // Display information about the given database
php artisan db:table // Display information about the given database table
php artisan db:wipe // Drop all tables, views, and types
// EVENT // EVENT
@@ -54,9 +59,10 @@ php artisan key:generate // Set the application key
// MAKE // MAKE
php artisan make:auth // Scaffold basic login and registration views and routes php artisan make:cast // Create a new custom Eloquent cast class
php artisan make:channel // Create a new channel class php artisan make:channel // Create a new channel class
php artisan make:command // Create a new Artisan command php artisan make:command // Create a new Artisan command
php artisan make:component // Create a new view component class
php artisan make:controller // Create a new controller class php artisan make:controller // Create a new controller class
php artisan make:event // Create a new event class php artisan make:event // Create a new event class
php artisan make:exception // Create a new custom exception class php artisan make:exception // Create a new custom exception class
@@ -74,6 +80,7 @@ php artisan make:provider // Create a new service provider class
php artisan make:request // Create a new form request class php artisan make:request // Create a new form request class
php artisan make:resource // Create a new resource php artisan make:resource // Create a new resource
php artisan make:rule // Create a new validation rule php artisan make:rule // Create a new validation rule
php artisan make:scope // Create a new scope class
php artisan make:seeder // Create a new seeder class php artisan make:seeder // Create a new seeder class
php artisan make:test // Create a new test class php artisan make:test // Create a new test class
@@ -86,6 +93,10 @@ php artisan migrate:reset // Rollback all database migrations
php artisan migrate:rollback // Rollback the last database migration php artisan migrate:rollback // Rollback the last database migration
php artisan migrate:status // Show the status of each migration php artisan migrate:status // Show the status of each migration
// MODEL
php artisan model:prune // Prune models that are no longer needed
php artisan model:show // Show information about an Eloquent model
// NOTIFICATIONS // NOTIFICATIONS
php artisan notifications:table // Create a migration for the notifications table php artisan notifications:table // Create a migration for the notifications table
@@ -100,13 +111,19 @@ php artisan package:discover // Rebuild the cached package manifest
// QUEUE // QUEUE
php artisan queue:batches-table // Create a migration for the batches database table
php artisan queue:clear // Delete all of the jobs from the specified queue
php artisan queue:failed // List all of the failed queue jobs php artisan queue:failed // List all of the failed queue jobs
php artisan queue:failed-table // Create a migration for the failed queue jobs database table php artisan queue:failed-table // Create a migration for the failed queue jobs database table
php artisan queue:flush // Flush all of the failed queue jobs php artisan queue:flush // Flush all of the failed queue jobs
php artisan queue:forget // Delete a failed queue job php artisan queue:forget // Delete a failed queue job
php artisan queue:listen // Listen to a given queue php artisan queue:listen // Listen to a given queue
php artisan queue:monitor // Monitor the size of the specified queues
php artisan queue:prune-batches // Prune stale entries from the batches database
php artisan queue:prune-failed // Prune stale entries from the failed jobs table
php artisan queue:restart // Restart queue worker daemons after their current job php artisan queue:restart // Restart queue worker daemons after their current job
php artisan queue:retry // Retry a failed queue job php artisan queue:retry // Retry a failed queue job
php artisan queue:retry-batch // Retry the failed jobs for a batch
php artisan queue:table // Create a migration for the queue jobs database table php artisan queue:table // Create a migration for the queue jobs database table
php artisan queue:work // Start processing jobs on the queue as a daemon php artisan queue:work // Start processing jobs on the queue as a daemon
@@ -116,9 +133,26 @@ php artisan route:cache // Create a route cache file for faster route r
php artisan route:clear // Remove the route cache file php artisan route:clear // Remove the route cache file
php artisan route:list // List all registered routes php artisan route:list // List all registered routes
// SAIL
php artisan sail:install // Install Laravel Sail's default Docker Compose file
php artisan sail:publish // Publish the Laravel Sail Docker files
// SANCTUM
php artisan sanctum:prune-expired // Prune tokens expired for more than specified number of hours.
// SCHEDULE // SCHEDULE
php artisan schedule:run // Run the scheduled commands php artisan schedule:clear-cache // Delete the cached mutex files created by scheduler
php artisan schedule:list // List the scheduled commands
php artisan schedule:run // Run the scheduled commands
php artisan schedule:test // Run a scheduled command
php artisan schedule:work // Start the schedule worker
// SCHEMA
php artisan schema:dump // Dump the given database schema
// SESSION // SESSION
@@ -128,6 +162,10 @@ php artisan session:table // Create a migration for the session database
php artisan storage:link // Create a symbolic link from "public/storage" to "storage/app/public" php artisan storage:link // Create a symbolic link from "public/storage" to "storage/app/public"
// STUD
php artisan stub:publish // Publish all stubs that are available for customization
// VENDOR // VENDOR
php artisan vendor:publish // Publish any publishable assets from vendor packages php artisan vendor:publish // Publish any publishable assets from vendor packages

View File

@@ -72,6 +72,7 @@ array.splice(start, deleteCount, item1, item2, ...) // Adds and/or removes elem
arr.unshift([element1[, ...[, elementN]]]) // Adds one or more elements to the front of an array and returns the new length of the array. arr.unshift([element1[, ...[, elementN]]]) // Adds one or more elements to the front of an array and returns the new length of the array.
// Instance: accessor methods // Instance: accessor methods
arr.at(index) // Returns the element at the specified index in the array.
arr.concat(value1[, value2[, ...[, valueN]]]) // Returns a new array comprised of this array joined with other array(s) and/or value(s). arr.concat(value1[, value2[, ...[, valueN]]]) // Returns a new array comprised of this array joined with other array(s) and/or value(s).
arr.includes(searchElement, fromIndex) // Determines whether an array contains a certain element, returning true or false as appropriate. arr.includes(searchElement, fromIndex) // Determines whether an array contains a certain element, returning true or false as appropriate.
arr.indexOf(searchElement[, fromIndex]) // Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. arr.indexOf(searchElement[, fromIndex]) // Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found.

140
tools/firebase_cli.md Normal file
View File

@@ -0,0 +1,140 @@
# Firebase CLI Guide
Firebase CLI (Command Line Interface) is a powerful tool that allows developers to interact with Firebase services and manage their Firebase projects directly from the command line. It provides a convenient and efficient way to deploy projects, manage databases, configure authentication, and more, streamlining the development and deployment processes.
## Installation
To use the Firebase CLI, you need to have Node.js and npm (Node Package Manager) installed on your system. Follow the steps below to install the Firebase CLI:
1. Install Node.js and npm by downloading the installer from the [official Node.js website](https://nodejs.org/en/download/) and following the installation instructions for your operating system.
2. Once Node.js and npm are installed, open your terminal or command prompt and run the following command to install the Firebase CLI globally:
```
npm install -g firebase-tools
```
This command will download and install the Firebase CLI package from the npm registry.
3. After the installation is complete, you can verify that the Firebase CLI is installed correctly by running the following command:
```
firebase --version
```
If the installation was successful, you will see the version number of the Firebase CLI printed in the terminal.
Congratulations! You have successfully installed the Firebase CLI.
## Usage
The Firebase CLI allows you to interact with Firebase services and manage your Firebase projects from the command line. Here are some common tasks you can perform using the Firebase CLI:
- Initialize a new Firebase project in your current directory.
- Deploy your Firebase project to Firebase hosting.
- Manage Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, and other Firebase services.
- Configure Firebase project settings.
- Interact with Firebase emulators for local development and testing.
To use the Firebase CLI, open your terminal or command prompt and run the `firebase` command followed by the desired command and options.
Here's an example of the basic usage:
```
firebase <command> [options]
```
Replace `<command>` with the specific Firebase command you want to execute, and `[options]` with any additional options or flags required for that command.
For more detailed usage information, you can run the following command:
```
firebase help
```
This command will display the available Firebase commands and provide detailed information about each command.
## Commands
Here are the commonly used Firebase CLI commands along with a brief explanation, syntax, and an example for each command:
- `firebase init`: Initializes a new Firebase project in the current directory.
- Syntax: `firebase init [options]`
- Example: `firebase init hosting` initializes Firebase Hosting for the current project.
- `firebase deploy`: Deploys your Firebase project to Firebase hosting or other Firebase services.
- Syntax: `firebase deploy [options]`
- Example: `firebase deploy --only hosting` deploys only the Firebase Hosting content.
- `firebase serve`: Starts local development servers and Firebase emulators.
- Syntax: `firebase serve [options]`
- Example: `firebase serve --only functions,hosting` starts the Firebase emulators for functions and hosting.
- `firebase login`: Authenticates the Firebase CLI with your Firebase account.
- Syntax: `firebase login [options]`
- Example: `firebase login --no-localhost` initiates an interactive login session without connecting to localhost.
- `firebase logout`: Logs out from the Firebase CLI.
- Syntax: `firebase logout [options]`
- Example: `firebase logout` logs out the currently authenticated user.
- `firebase use`: Sets the active Firebase project for the current directory.
- Syntax: `firebase use <project_id> [options]`
- Example: `firebase use my-project` sets "my-project" as the active Firebase project.
- `firebase functions`: Interacts with Firebase Cloud Functions.
- Syntax: `firebase functions:command [options]`
- Example: `firebase functions:delete [function_name]` deletes all functions that match the specified name in all regions.
- `firebase database`: Interacts with Firebase Realtime Database.
- Syntax: `firebase database:command [options]`
- Example: `firebase database:get /users` retrieves data from the Firebase Realtime Database.
- `firebase firestore`: Interacts with Firebase Cloud Firestore.
- Syntax: `firebase firestore:command [options]`
- Example: `firebase firestore:delete collection/document` deletes a document from the Firestore database.
- `firebase auth`: Interacts with Firebase Authentication.
- Syntax: `firebase auth:command [options]`
- Example: `firebase auth:export users.csv` exports user data to a CSV file.
- `firebase hosting`: Interacts with Firebase Hosting.
- Syntax: `firebase hosting:command [options]`
- Example: `firebase hosting:disable` disables Firebase Hosting for the current project.
- `firebase remoteconfig`: Interacts with Firebase Remote Config.
- Syntax: `firebase remoteconfig:command [options]`
- Example: `firebase remoteconfig:get template` retrieves the Remote Config template.
- `firebase ext`: Interacts with Firebase Extensions.
- Syntax: `firebase ext:command [options]`
- Example: `firebase ext:install firebase/delete-user-data` installs the Firebase Extension named "firebase/delete-user-data".
- `firebase appdistribution`: Interacts with Firebase App Distribution.
- Syntax: `firebase appdistribution:command [options]`
- Example: `firebase appdistribution:testers:add` Adds testers to the project.
- `firebase use --add`: Adds an existing Firebase project to the current directory
- Syntax: `firebase use --add`
- Example: `firebase use --add` interactively adds an existing Firebase project.
- `firebase projects:create`: Creates a new Firebase project.
- Syntax: `firebase projects:create [options]`
- Example: `firebase projects:create --display-name "My Project"` creates a new Firebase project with the given display name.
These are just a few examples of the available commands. You can explore more commands and their options by running `firebase help` or visiting the [official Firebase CLI documentation](https://firebase.google.com/docs/cli).

View File

@@ -2,67 +2,10 @@
# VIM CHEATSHEET # VIM CHEATSHEET
# WEBSITE: http://www.vim.org/ # WEBSITE: http://www.vim.org/
# DOCUMENTATION: https://vim.sourceforge.io/docs.php # DOCUMENTATION: https://vim.sourceforge.io/docs.php
# CTRL-A = <C-a>
############################################################################## ##############################################################################
##############################################################################
# CURSOR MOVEMENTS
##############################################################################
h move left
j move down
k move up
l move right
w jump by start of words (punctuation considered words)
W jump by words (spaces separate words)
e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
b jump backward by words (punctuation considered words)
B jump backward by words (no punctuation)
ge jump backward to end of words
0 (zero) start of line
^ first non-blank character of line
$ end of line
- move line upwards, on the first non blank character
+ move line downwards, on the first non blank character
<enter> move line downwards, on the first non blank character
gg go to first line
G go to last line
ngg go to line n
nG go To line n
:n go To line n
) move the cursor forward to the next sentence.
( move the cursor backward by a sentence.
{ move the cursor a paragraph backwards
} move the cursor a paragraph forwards
]] move the cursor a section forwards or to the next {
[[ move the cursor a section backwards or the previous {
CTRL-f move the cursor forward by a screen of text
CTRL-b move the cursor backward by a screen of text
CTRL-u move the cursor up by half a screen
CTRL-d move the cursor down by half a screen
H move the cursor to the top of the screen.
M move the cursor to the middle of the screen.
L move the cursor to the bottom of the screen.
fx search line forward for 'x'
Fx search line backward for 'x'
tx search line forward before 'x'
Tx search line backward before 'x'
##############################################################################
# BOOKMARKS
##############################################################################
:marks list all the current marks
ma make a bookmark named a at the current cursor position
`a go to position of bookmark a
'a go to the line with bookmark a
`. go to the line that you last edited
############################################################################## ##############################################################################
# INSERT MODE # INSERT MODE
############################################################################## ##############################################################################
@@ -74,7 +17,79 @@ a append after the cursor
A append at the end of the line A append at the end of the line
o open (append) blank line below current line o open (append) blank line below current line
O open blank line above current line O open blank line above current line
Esc exit insert mode <Esc> exit insert mode
##############################################################################
# EXITING
##############################################################################
:q quit Vim, fails when changes have been made
:q! quit without writing
:cq quit always, without writing
:w save without exiting
:wq write the current file and exit
:wq! write the current file and exit always
:wq {file} write to {file} Exit if not editing the last
:wq! {file} write to {file} and exit always
:[range]wq[!] same as above, but only write the lines in [range]
ZZ write current file, if modified, and exit
ZQ quit current file and exit (same as ":q!")
##############################################################################
# CURSOR MOVEMENTS
##############################################################################
h move a character left
j move a line down
k move a line up
l move a character right
gj move a visual line down
gk move a visual line up
w jump by start of words (punctuation considered words)
W jump by words (spaces separate words)
e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
b jump backward by words (punctuation considered words)
B jump backward by words (no punctuation)
ge jump backward to end of words
0 (zero) start of line
^ first non-whitespace character of line
$ end of line
n$ move to the end of line n lines down
- move line upwards, on the first non-whitespace character
+ move line downwards, on the first non-whitespace character
<enter> move line downwards, on the first non-whitespace character
gg go to first line
G go to last line
ngg go to line n
nG go to line n
:n go to line n
:-n go n lines up, like nk
:+n go n lines down, like nj
) move the cursor forward to the next sentence
( move the cursor backward by a sentence
{ move the cursor a paragraph backwards
} move the cursor a paragraph forwards
]] move the cursor a section forwards or to the next {
[[ move the cursor a section backwards or the previous {
<C-f> move the cursor forward by a screen of text
<C-b> move the cursor backward by a screen of text
<C-u> move the cursor up by half a screen
<C-d> move the cursor down by half a screen
H move the cursor to the top of the screen
M move the cursor to the middle of the screen
L move the cursor to the bottom of the screen
fx find and move on next occurance of x on current line
Fx find and move on previous occurance of x on current line
tx find and move to next occurance of x on current line
Tx find and move to previous occurance of x on current line
; rerun last f/F/t/T movement
, rerun last f/F/t/T movement but in the opposite way
% show matching brace, bracket, or parenthese
############################################################################## ##############################################################################
@@ -84,16 +99,25 @@ Esc exit insert mode
r replace a single character (does not use insert mode) r replace a single character (does not use insert mode)
R enter Insert mode, replacing characters rather than inserting R enter Insert mode, replacing characters rather than inserting
J join line below to the current one J join line below to the current one and add space
cc change (replace) an entire line gJ join line below to the current one without adding space
cw change (replace) to the end of word cc change an entire line
C change (replace) to the end of line cw change to the end of word
ct' change (replace) until the ' character (can change ' for any character) ciw change whole word regardless of where you are in it
cip change in paragaph (between new lines)
cap change around paragaph and the paragraph itself
ci( change in pair of (, works with { [ " ' ` < too
ca( change in and around pair of (, works with { [ " ' ` < too
C change to the end of line (same as c$)
ct' change until the ' character (can change ' for any character)
ci" change everything in the next " on the line
s delete character at cursor and substitute text s delete character at cursor and substitute text
S delete line at cursor and substitute text (same as cc) S delete line at cursor and substitute text (same as cc)
xp transpose two letters (delete and paste, technically) xp transpose two letters (delete and paste, technically)
u undo u undo
CTRL-r redo <C-r> redo
<C-a> increment number under cursor
<C-x> decrement number under cursor
. repeat last command . repeat last command
~ switch case ~ switch case
g~iw switch case of current word g~iw switch case of current word
@@ -103,12 +127,15 @@ gU$ make uppercase until end of line
gu$ make lowercase until end of line gu$ make lowercase until end of line
>> indent line one column to right >> indent line one column to right
<< indent line one column to left << indent line one column to left
<ip indent in paragraph to the left
>ip outdent in paragraph to the left
<ap indent around paragraph to the left and the paragraph itself
>ap outdent around paragraph to the left and the paragraph itself
== auto-indent current line == auto-indent current line
ddp swap current line with next ddp swap current line with next
ddkp swap current line with previous ddkp swap current line with previous
:%retab fix spaces / tabs issues in whole file g?? rot13 encode current line, useful for spoilering text
:r [name] insert the file [name] below the cursor. <C-r>=3+3 in insert mode, will evaluate 3+3 and paste it, works with simple expressions
:r !{cmd} execute {cmd} and insert its standard output below the cursor.
############################################################################## ##############################################################################
@@ -120,10 +147,14 @@ x delete current character
X delete previous character X delete previous character
dw delete the current word dw delete the current word
dd delete (cut) a line dd delete (cut) a line
diw delete whole word regardless of where you are in it
dip delte in paragraph
dap delte around paragraph and the paragraph itself
dt' delete until the next ' character on the line (replace ' by any character) dt' delete until the next ' character on the line (replace ' by any character)
D delete from cursor to end of line D delete from cursor to end of line
:[range]d delete [range] lines :[range]d delete [range] lines
di( delete in pair of (, works with { [ " ' ` < too
da( delete in and around pair of (, works with { [ " ' ` < too
############################################################################## ##############################################################################
# COPYING AND MOVING TEXT # COPYING AND MOVING TEXT
@@ -132,8 +163,13 @@ D delete from cursor to end of line
yw yank word yw yank word
yy yank (copy) a line yy yank (copy) a line
2yy yank 2 lines nyy yank n lines
y$ yank to end of line y$ yank to end of line
yiw yank whole word regardless of where you are in it
yip yank in paragaph (between new lines)
yap yank around paragaph and the paragraph itself
yi( yank in pair of (, works with { [ " ' ` < too
ya( yank in and around pair of (, works with { [ " ' ` < too
p put (paste) the clipboard after cursor/current line p put (paste) the clipboard after cursor/current line
P put (paste) before cursor/current line P put (paste) before cursor/current line
:set paste avoid unexpected effects in pasting :set paste avoid unexpected effects in pasting
@@ -153,11 +189,13 @@ P put (paste) before cursor/current line
############################################################################## ##############################################################################
qa start recording macro 'a' qa start recording macro to register a
q end recording macro q end recording macro
@a replay macro 'a' @a replay macro 'a'
@@ replay last macro
@: replay last command @: replay last command
"ap paste the conents of the a register/macro
"ayy yank the current line into the a register/macro
############################################################################## ##############################################################################
# VISUAL MODE # VISUAL MODE
@@ -168,32 +206,23 @@ v start visual mode, mark lines, then do command (such as y-ya
V start linewise visual mode V start linewise visual mode
o move to other end of marked area o move to other end of marked area
U upper case of marked area U upper case of marked area
CTRL-v start visual block mode <C-v> start visual block mode
O move to other corner of block O move to other corner of block
aw mark a word aw mark a word
ab a () block (with braces) ab a () block (with braces)
ab a {} block (with brackets) ab a {} block (with brackets)
ib inner () block ib inner () block
ib inner {} block ib inner {} block
Esc exit visual mode vap visually select paragraph and around it
vip visually select in paragraph
VISUAL MODE COMMANDS v% matching parenthesis
--------------------
> shift right
< shift left
c change (replace) marked text
y yank (copy) marked text
d delete marked text
~ switch case
VISUAL MODE SHORTCUTS
---------------------
v% selects matching parenthesis
vi{ selects matching curly brace vi{ selects matching curly brace
vi" selects text between double quotes vi" selects text between double quotes
vi' selects text between single quotes vi' selects text between single quotes
va" selects text around double quotes
va' selects text around single quotes
g<C-a> increment selected text but increment with one more each time
g<C-x> decrement selected text but decrement with one more each time
############################################################################## ##############################################################################
# SPELLING # SPELLING
@@ -207,24 +236,6 @@ zug undo last add word
z= suggest word z= suggest word
##############################################################################
# EXITING
##############################################################################
:q quit Vim. This fails when changes have been made.
:q! quit without writing.
:cq quit always, without writing.
:w save without exiting.
:wq write the current file and exit.
:wq! write the current file and exit always.
:wq {file} write to {file}. Exit if not editing the last
:wq! {file} write to {file} and exit always.
:[range]wq[!] same as above, but only write the lines in [range].
ZZ write current file, if modified, and exit.
ZQ quit current file and exit (same as ":q!").
############################################################################## ##############################################################################
# SEARCH/REPLACE # SEARCH/REPLACE
############################################################################## ##############################################################################
@@ -236,8 +247,8 @@ n repeat search in same direction
N repeat search in opposite direction N repeat search in opposite direction
* search forward, word under cursor * search forward, word under cursor
# search backward, word under cursor # search backward, word under cursor
set ic ignore case: turn on set ignorecase ignore case: turn on
set noic ignore case: turn off set noignorecase ignore case: turn off
:%s/old/new/g replace all old with new throughout file :%s/old/new/g replace all old with new throughout file
:%s/old/new/gc replace all old with new throughout file with confirmation :%s/old/new/gc replace all old with new throughout file with confirmation
:argdo %s/old/new/gc | wq open multiple files and run this command to replace old :argdo %s/old/new/gc | wq open multiple files and run this command to replace old
@@ -245,7 +256,19 @@ set noic ignore case: turn off
############################################################################## ##############################################################################
# MULTIPLE FILES # BOOKMARKS
##############################################################################
:marks list all the current marks
ma make a bookmark named a at the current cursor position
`a go to position of bookmark a
'a go to the line with bookmark a
`. go to the line that you last edited
##############################################################################
# MULTIPLE FILES AND BUFFERS
############################################################################## ##############################################################################
@@ -266,24 +289,24 @@ set noic ignore case: turn off
############################################################################## ##############################################################################
:sp f split open f :sp file horizontal split open file, if you don't specify it opens the current one
:vsp f vsplit open f :vsp file vertical split open file, if you don't specify it opens the current one
CTRL-w s split windows <C-ws> split windows
CTRL-w w switch between windows <C-ww> switch between windows
CTRL-w q quit a window <C-wq> quit a window
CTRL-w v split windows vertically <C-wv> split windows vertically
CTRL-w x swap windows <C-wx> swap windows
CTRL-w h left window <C-wh> left window
CTRL-w j down window <C-wj> down window
CTRL-w k up window <C-wk> up window
CTRL-w l right window <C-wl> right window
CTRL-w + increase window height <C-w+> increase window height
CTRL-w - decrease window height <C-w-> decrease window height
CTRL-w < increase window width <C-w<> increase window width
CTRL-w > decrease window width <C-w>> decrease window width
CTRL-w = equal window <C-w=> equal window
CTRL-w o close other windows <C-wo> close other windows
zz Centers the window to the current line zz visually puts current line at the center of the screen
############################################################################## ##############################################################################
@@ -305,361 +328,27 @@ clast display the last error
############################################################################## ##############################################################################
% show matching brace, bracket, or parenthese
gf edit the file whose name is under or after the cursor gf edit the file whose name is under or after the cursor
gd when the cursor is on a local variable or function, jump to its declaration gd if cursor is on a local variable or function, jump to its declaration
'' return to the line where the cursor was before the latest jump '' return to the line where the cursor was before the latest jump
gi return to insert mode where you inserted text the last time gi return to insert mode where you inserted text the last time
CTRL-o move to previous position you were at <C-o> move to previous position you were at
CTRL-i move to more recent position you were at <C-i> move to more recent position you were at
############################################################################## ##############################################################################
# PLUGINS > ACK # COMMANDS
############################################################################## ##############################################################################
:Ack Search recursively in directory q: list command history
o to open (same as enter) :set optionName set the optionName option
go to preview file (open but maintain focus on ack.vim results) :h[elp] command open offline help menu for command
t to open in new tab :put paste
T to open in new tab silently :put = 3+3 calculate 3+3 and put it on a new line, works with basic expressions
q to close the quickfix window :%retab fix spaces / tabs issues in whole file
:r [name] insert the file [name] below the cursor
:r !{cmd} execute {cmd} and insert its standard output below the cursor
############################################################################## :%le remove all leading whitespace
# PLUGINS > CHEAT :%y yank whole file
############################################################################## :[range]norm Ihi run a sequence of commands on a range of lines
:Cheat open cheat sheet (with autocomplete)
<leader>ch open cheat sheet for word under the cursor
##############################################################################
# PLUGINS > GIST
##############################################################################
:Gist post whole text to gist
:Gist XXXXX get gist XXXXX
:Gist -l list my gists
##############################################################################
# PLUGINS > GUNDO
##############################################################################
:GundoToggle show undo tree
##############################################################################
# PLUGINS > LUSTYJUGGLER
##############################################################################
<Leader>lj show open buffers
##############################################################################
# PLUGINS > NERDCOMMENTER
##############################################################################
<leader>cc comment out line(s)
<leader>c<space> toggle the comment state of the selected line(s)
##############################################################################
# PLUGINS > NERDTREE
##############################################################################
:NERDTreeToggle show / hide file browser
:NERDTreeFind show current file in file browser
:Bookmark name bookmark the current node as "name"
FILE
----
o open in prev window
go preview
t open in new tab
T open in new tab silently
i open split
gi preview split
s open vsplit
gs preview vsplit
DIRECTORY
---------
o open & close node
O recursively open node
x close parent of node
X close all child nodes of current node recursively
e explore selected dir
BOOKMARK
--------
o open bookmark
t open in new tab
T open in new tab silently
D delete bookmark
TREE NAVIGATION
---------------
P go to root
p go to parent
K go to first child
J go to last child
CTRL-j go to next sibling
CTRL-k go to prev sibling
FILESYSTEM
----------
C change tree root to the selected dir
u move tree root up a dir
U move tree root up a dir but leave old root open
r refresh cursor dir
R refresh current root
m show menu
cd change the CWD to the selected dir
TREE FILTERING
--------------
I hidden files
f file filters
F files
B bookmarks
OTHER
-----
q close the NERDTree window
A zoom (maximize-minimize) the NERDTree window
? toggle help
##############################################################################
# PLUGINS > PDV
##############################################################################
CTRL-P generate PHP DOC
##############################################################################
# PLUGINS > PICKACOLOR
##############################################################################
:PickHEX choose color in system color picker
##############################################################################
# PLUGINS > SNIPMATE
##############################################################################
<tab> expand snippet
##############################################################################
# PLUGINS > SPARKUP
##############################################################################
CTRL-e execute sparkup (zen coding expansion)
CTRL-n jump to the next empty tag / attribute
##############################################################################
# PLUGINS > SURROUND
##############################################################################
cs'" change surrounding quotes to double-quotes
cs(} change surrounding parens to braces
cs({ change surrounding parens to braces with space
ds' delete surrounding quotes
dst delete surrounding tags
ysiw[ surround inner word with brackets
vees' surround 2 words (ee) with quotes '
##############################################################################
# PLUGINS > TABULAR
##############################################################################
:Tabularize /, line the selected lines up on the commas
##############################################################################
# PLUGINS > TAGLIST
##############################################################################
:TlistToggle open / close taglist window
<enter> jump to tag or file
<space> display the tag prototype
##############################################################################
# PLUGINS > UNIMPAIRED
##############################################################################
[space new line above
]space new line below
[e exchange line above
]e exchange line below
[x XML encode
]x XML decode (with htmlentities)
[q jump to previous quickfix item
]q jump to next quickfix item
[Q jump to first quickfix item
]Q jump to last quickfix item
##############################################################################
# PLUGINS > VIM-FUGITIVE
##############################################################################
:Git run a git command
:Gstatus git status : - to (un)stage , p to patch, C to commit
:Gcommit git commit
:Gread empty the buffer and revert to the last commit
:Gwrite write the current file and stage the results
:Gmove git mv
:Gremove git rm
:Glog git log
:Gdiff perform a vimdiff against the current file of a certain revision
:Gblame open blame information in a scroll bound vertical splitt
:Gbrowse open github
##############################################################################
# PLUGINS > VIM-MARKDOWN-PREVIEW
##############################################################################
:Mm preview markdown document in webbrowser
##############################################################################
# PLUGINS > VIM-PEEPOPEN
##############################################################################
<Leader>p open the current directory with the peepopen application (fuzzy search)
##############################################################################
# PLUGINS > VIM-SYMFONY
##############################################################################
:Sview open template file
:Saction open action file
:Smodel open model file
:Sfilter open filter file
:Sform open form file
:Spartial open partial file / write selected content in partial + include
:Scomponent open component file / write selected content in component + include
:Salternate open alternate model file (class - table class)
:Symfony execute task
##############################################################################
# PERSONAL .VIMRC
##############################################################################
<leader>ev edit vimrc file
<leader>sv reload vimrc file
<leader>sh show syntax highlighting groups for word under cursor
<space> page down
jj exit insertion mode
<leader>q close the current window
<leader>/ clear the search register
<leader>h toggle hidden characters
<leader>W strip all trailing whitespace
CTRL-h go to left window
CTRL-j go to down window
CTRL-k go to top window
CTRL-l go to right window
<leader>w open vertical split window and activate
%% will expand to current directory
<leader>ew open file from current directory
<leader>es open file in split window from current directory
<leader>cd change directory to parent dir of current file
## will expand to webroot
:Wrap wrap text
<F2> toggle wrapped text
<F3> toggle spell check
<F4> toggle light/dark background
<F5> underline with dashes
<F6> underline with double lines
<leader><up> bubble line(s) up
<leader><down> bublle line(s) down
:Ltag load tags file
:Project cd to project and load tags file
<leader>t show current tag for word under cursor
<leader>st show current tag for word under cursor in split window
<leader>tj show current tag list for word under cursor
<leader>stj show current tag list for word under cursor in split window
CTRL-<space> show omnicomplete menu
<leader>b surround with strong tags
<leader>i surround with em tags
CTRL-p generate PHP DOC
<leader>a run Ack
<leader>md preview markdown
<leader>s preview in safari
<leader>x colorpicker
<leader>n toggle Nerdtree
<leader>N close Nerdtree
<leader>f find current file in Nerdtree
<leader>l toggle Taglist
<leader>L close Taglist
<leader>ph set filetype to php.html
<leader>r reload all snipmate snippets
CTRL-<tab> switch between buffers
CTRL-y go to next tag of attribute in sparkup plugin
<leader>g toggle Gundo window
IMG<CR> show image browser to insert image tag with src, width and height
b insert image tag with dimensions from NERDTree
(http://stackoverflow.com/questions/5707925/vim-image-placement)